exeファイルでを使用していますが、 "Win32Exception the parameter is incorrect"がスローされます。Win32Exceptionパラメータが正しくありません
Process p = new Process();
Process.Start("C:\Program Files\APS2PP\keyl2000.exe");
このファイルをコマンドプロンプトで正常に実行できます。
exeファイルでを使用していますが、 "Win32Exception the parameter is incorrect"がスローされます。Win32Exceptionパラメータが正しくありません
Process p = new Process();
Process.Start("C:\Program Files\APS2PP\keyl2000.exe");
このファイルをコマンドプロンプトで正常に実行できます。
例外に関する詳細は?
によると:http://msdn.microsoft.com/en-us/library/system.componentmodel.win32exception.aspxこの例外には内部例外コードが含まれているため、Googleに送信して何が起こったかを正確に確認できます。
から: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"
)
Process.Start("C:\Program Files\APS2PP\keyl2000.exe")
誰かが事故によってあなたの間違いを修正、あなたの質問を編集して、それを先行することによってエスケープ文字の必要性を取り除きます。二重バックスラッシュを使用するか、文字列の前に@を付けます。
Process.Start(@"C:\Program Files\APS2PP\keyl2000.exe");
ネイティブエラーコード:87 –
パラメータが指定されていないため、あなたのプログラムが実行を拒否しているようです – Machinarius