3

重複の可能性:
C#アプリケーションでコマンドウィンドウを非表示にする

コンソールアプリでcmdコマンドを実行したいのですが、新しいウィンドウが作成されています。なぜですか?

 Process process = new Process();
 ProcessStartInfo startInfo = new ProcessStartInfo();
 startInfo.WindowStyle = ProcessWindowStyle.Hidden;
 startInfo.CreateNoWindow = true;
 startInfo.UseShellExecute = false;
 startInfo.FileName = "cmd.exe";
 startInfo.WorkingDirectory = @"C:\m_f";
 startInfo.Arguments = "/c START _creator.bat";
 process.StartInfo = startInfo;
 process.Start();

編集

コードを次のように変更する必要がありました。

 startInfo.FileName = @"C:\m_f\_creator.bat";
 startInfo.WorkingDirectory = @"C:\m_f\";
 startInfo.Arguments = "some_args";

今それは動作します

4

1 に答える 1

3

start親シェルにウィンドウがあるかどうかに関係なく、新しいウィンドウを生成します。

バッチ ファイルを実行するcmd /c foo.cmdだけで十分foo.cmdです。

于 2012-06-24T16:47:24.263 に答える