2011-02-08 54 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");