2011-02-08 9 views
2

exeファイルでを使用していますが、 "Win32Exception the parameter is incorrect"がスローされます。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"); 
関連する問題