0

Windows アプリケーションを開発しています。コマンド プロンプトを呼び出しています。exe ファイルがパラメーターを取る exe ファイルを呼び出す必要があります。

コマンド プロンプトを開くことはできますが、パラメータを送信することはできません

        string  strCmdText = "create-keyfile.exe ..\\KatanaFirmware\\key-template.txt ..\\Keyfiles\\new-keyfile.txt " + cableTextBox.Text.Trim()+" " + startIdTextBox.Text.Trim();
        System.Diagnostics.Process.Start("CMD.exe", strCmdText);

助けてください。

ありがとう

プニス

4

5 に答える 5

5
 System.Diagnostics.ProcessStartInfo startInfo = new ProcessStartInfo("create-keyfile.exe");
startInfo.Arguments = "..\\KatanaFirmware\\key-template.txt ..\\Keyfiles\\new-keyfile.txt " + cableTextBox.Text.Trim()+" " + startIdTextBox.Text.Trim();
System.Diagnostics.Process.Start(startInfo);

Process.Start のMSDN サイトも参照できます 。.exe を実行して引数を渡す方法の例があります。

于 2012-05-16T10:59:04.930 に答える
1
ProcessStartInfo process = new ProcessStartInfo();
process.FileName = "yourprogram.exe";
process.Arguments = strCmdText; // or put your arguments here rather than the string
Process.Start(process);
于 2012-05-16T10:59:50.510 に答える
0

やってみました

System.Diagnostics.Process.Start("CMD.exe "+strCmdText);

実際、さらに詳しく調べると、CMD.EXE を呼び出す必要はないと思います。もちろん、CMD を使用して何かを表示する場合を除き、exe ファイルを呼び出す必要があります。

string  strCmdText =  "..\\KatanaFirmware\\key-template.txt ..\\Keyfiles\\new-keyfile.txt " + cableTextBox.Text.Trim()+" " + startIdTextBox.Text.Trim();
System.Diagnostics.Process.Start("create-keyfile.exe", strCmdText);
于 2012-05-16T10:57:09.247 に答える
0

/k または /c オプションを指定して cmd を試しましたか

リンクから

/c : 文字列で指定されたコマンドを実行して停止します。

/k : 文字列で指定されたコマンドを実行して続行します。

   string  strCmdText = "/k create-keyfile.exe ..\\KatanaFirmware\\key-template.txt ..\\Keyfiles\\new-keyfile.txt " + cableTextBox.Text.Trim()+" " + startIdTextBox.Text.Trim();
   System.Diagnostics.Process.Start("CMD.exe", strCmdText);
于 2012-05-16T11:05:17.363 に答える
0

これを試して。

string  strCmdText = "KatanaFirmware\\key-template.txt "+ "\\Keyfiles\\new-keyfile.txt " + cableTextBox.Text.Trim()+" " +     startIdTextBox.Text.Trim();
Process mp = new Process();
mp.StartInfo.FileName = "E:\\create-keyfile.exe"; //path of the exe that you want to run
mp.StartInfo.UseShellExecute = false;
mp.StartInfo.CreateNoWindow = true;
mp.StartInfo.RedirectStandardInput = true;
mp.StartInfo.RedirectStandardOutput = true;
mp.StartInfo.Arguments = strCmdText;
mp.Start();
mp.WaitForExit();

それが役に立てば幸い。

于 2012-05-16T11:31:42.820 に答える