在C#中,我得到了一个随机的Win32Exception。我是C#的经验丰富的程序员,但这是随机的!文件" quickbms.exe"确实存在!
当我这样做时:
commandPrompt.StartInfo.FileName = "start";
commandPrompt.StartInfo.Arguments = "\"" + Application.ExecutablePath + "\\src\\quickbms.exe\" -o \"src\\overworld.bms\" \"savegame_d.dat\" \"src\\xbla\\Savegame_Files\\regions\"";
commandPrompt.Start();
commandPrompt.WaitForExit();
(commandPrompt = System.Diagnostics.Process)
并且发生了这种情况(使用了自定义异常窗口):
http://gyazo.com/9ebe6832f6200669d20c0c4e96e95a9c
很多人会说"文件不存在"但它做到了!
答案 0 :(得分:1)
问题是你的开始"参数。
commandPrompt.StartInfo.FileName = "start";
没有名为start的windows命令。 Win + R +"开始" =错误 如果删除Arguments行,您将得到完全相同的错误。
您应该直接在Filename中调用该文件,而不是参数。
commandPrompt.StartInfo.FileName = "\"" + Application.ExecutablePath + "\\src\\quickbms.exe\";
commandPrompt.StartInfo.Arguments = "-o \"src\\overworld.bms\" \"savegame_d.dat\" \"src\\xbla\\Savegame_Files\\regions\"";
commandPrompt.Start();
commandPrompt.WaitForExit();