[C#] コマンドプロンプトの窓を非表示にする


アプリケーションの中で、Process.Start メソッドを使用して他のコンソール・アプリケーションの EXE を起動させるとき、しばしば「黒い窓」を出したくないという要望がある。
そういう場合には ProcessStartInfo クラスのプロパティを設定するとよい。
var startInfo = new ProcessStartInfo();
startInfo.FileName = @".\Test2.exe";
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;

// さらに処理終了まで同期して待つ場合
var process = Process.Start(startInfo);
process.WaitForExit();
コマンド・プロンプトを表示せずにコンソール・アプリケーションを実行するには?[C#、VB]- @IT
http://www.atmarkit.co.jp/fdotnet/dotnettips/654nowinexec/nowinexec.html


なお、窓を完全に非表示にしたい場合は、プロジェクトのプロパティから、アプリケーションの種類を「Windows フォーム アプリケーション」に変更する。
この設定を行うと、まったくウィンドが出ずに処理が開始される。

コマンド・プロンプトを表示しないコンソール・アプリケーションを作成するには?[C#、VB]
http://www.atmarkit.co.jp/fdotnet/dotnettips/837nodisplayconsole/nodisplayconsole.html

このブログの人気の投稿

Excel で入力した文字に勝手に取り消し線が入る

コピーした行の挿入が表示されない時はフィルタされていないかチェック