0

を使用してプロセスを実行しようとしてSystem.Diagnostics.Process.Start()いますが、次のエラーが発生します。

System.ComponentModel.Win32Exception: The system cannot find the file specified

cmdパスを再確認し、文字列をウィンドウにコピーして、問題なく実行されました。何が問題なのですか?

Win7 64ビットを使用しており、実行しようとしているプログラムはmingw64-x64でコンパイルされており、.NET2.0用にコンパイルしています。


提案を実行しようとしている間編集

if (File.Exists(Your EXE)) {
}

コマンド文字列からフラグを削除することで問題が解決したことがわかりました(これが問題だとは思わなかったので、以前は言及しませんでした)

パラメータを使用してコマンドを実行するにはどうすればよいですか?

4

4 に答える 4

1

Windows7フォルダーのリダイレクトが問題になる可能性があります。

基本的に、「C:\ programfiles」にアクセスしようとすると「C:\ users \ username\programfiles」のようなものにリダイレクトされることがあります

私はあなたのためにいくつかのリソースを探しています。私ができるよりもそれをよりよく説明する何かを見つけたら、あなたに知らせます。

編集:

パラメータを使用したコマンドは、正しく機能するための苦痛であることがわかりました。私は通常、バッチファイルを作成してから、C#で実行します。

于 2012-11-13T12:43:07.373 に答える
1

引数には、このメソッドを使用します。または、ProcessStartInfoでオーバーロードします。

于 2012-11-13T12:50:39.463 に答える
0

次のようなifステートメントを追加します。

if (File.Exists(Your EXE))
{
    // Start the process
} 

そうしないと、使用されているパスが正しいかどうかを確認できません。

この答えも見てください、mabyそれは役立ちます

于 2012-11-13T12:41:02.620 に答える
0

ProcessStartInfoクラスを使用して、Argumentsプロパティに値を設定します。

http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.aspx

于 2012-11-13T13:04:10.870 に答える