2011-02-08 53 views
2

exe文件使用Process.Start()但它引发“Win32Exception参数不正确”。Win32Exception参数不正确

Process p = new Process(); 
Process.Start("C:\Program Files\APS2PP\keyl2000.exe"); 

我可以通过命令提示符成功运行此文件。

回答

2

来源:http://msdn.microsoft.com/en-us/library/53ezey2s.aspx

Win32Exception - 打开相关的文件时发生错误。 1)如果你打算使用静态方法Process.Start(String),你并不需要声明Process对象。

//Use... 
Process p = new Process(); 
p.StartInfo = new ProcessStartInfo(filename); 
p.Start(); 

//Or... 

Process.Start(filename); 

2)例外基本上是说它出于某种原因无法打开该文件。你确定路径是正确的吗?你有没有尝试手动打开该文件?

3)确保在更有组织的地方定义文件路径。如设置文件。这也有助于消除逃脱角色的需要。但是,如果你执意要走该字符串内联,至少用@符号(@"C:\Program Files\SomeFile.exe"

5
Process.Start("C:\Program Files\APS2PP\keyl2000.exe") 

有人编辑你的问题,意外修复你的错误之前就不需要用转义字符。使用双反斜杠或在字符串前加@。

Process.Start(@"C:\Program Files\APS2PP\keyl2000.exe");