Event.イベント
eventvwr
Windowsアプリケーションなどから外部のコンソール・
アプリケーション(.EXEファイル)やバッチ・ファイル(.BATファイル)を起動する場合
単純にProcess::Start()(System.Diagnostics名前空間)を実行しただけでは
余計なコマンド・プロンプト(正確にはコンソール・ウィンドウ)が開いて実行される
次のように考えれば OK
コマンドプロンプト == コンソール・ウィンドウ
文字 と 描画 による 出力は本質的に同じ
Program には [入力] , [出力] が必要
まとめ
Windows Application から system("xxx.bat") をコール
-> ConsoleWindow が表示される
Console Application から system("xxx.bat") をコール
-> ConsoleWindow が表示されない. -> 同じ Console Window に STDOUT の結果がかえる
system
ProcessEditor で見てみる
console.exe
cmd.exe // system("xxx.bat")
sleep.exe // sleep 1
sleep.exe // sleep 1
window.exe
cmd.exe // system("xxx.bat") : ここで別の Console Window が表示される
sleep.exe // sleep 1
sleep.exe // sleep 1