文件存在时Win32Exception?

时间:2014-05-20 19:22:07

标签: c#

在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

很多人会说"文件不存在"但它做到了!

http://gyazo.com/a976d29109775512695c4bcc177ef5ad

1 个答案:

答案 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();