一直使用网上下载的scratch2绿色版,但这个绿色程序有个缺陷,无法带参数启动,具体说就是无法在双击SB2文件时打开它,而是打开一个空白的scratch程序。
经过对命令行的研究,发现是通过adl.exe来启动的,然后通过对运行窗口的隐藏,完成了新的Scratch2引导程序,关键代码如下
[STAThread]
static void Main(string[] args)
{
string root = AppDomain.CurrentDomain.BaseDirectory;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ProcessStartInfo psi = new ProcessStartInfo(root+"bin\\scratch.exe");
psi.Arguments = " \"" + root + "application.xml\" -nodebug";
if(args!=null && args.Length>0)
{
psi.Arguments += " -- \"" + args[0] + "\"";
}
psi.UseShellExecute = false;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.CreateNoWindow = true;
Process.Start(psi);
}
后来看到了一篇相关文章,用C++做个启动器可以用来参考:
http://blog.csdn.net/worldspark/article/details/8555753