GUI とコンソール アプリケーションの違いの 1 つは、バッチ ファイルから GUI アプリケーションを実行してもその実行がブロックされないが、コンソール アプリケーションを実行するとブロックされることであると主張するインターネット上の多くの参照があります。
多くの参照のうち、これらは特に SO/SE からのものです。
- コマンド ラインから MFC アプリケーションをブロックするにはどうすればよいですか?
- バッチファイルで別のプロセスを実行するためにプロセスが終了するのを待つ方法
- exeがバッチファイルで完了するのをどのように待ちますか?
- バッチ スクリプトでプログラムを実行し、終了するまで待ってから続行する
また、私自身、これは本当だった/本当だったことを覚えています。
しかし、この方法ではうまくいかないようです。
次のような単純なバッチ ファイルでこれをテストしました。
echo Pre
notepad
echo Post
Post
メモ帳を閉じるまで印刷されません。メモ帳が明らかに GUI アプリケーションであるのに、なぜでしょうか。
最近のバージョンの Windows で動作が変更された可能性を排除するために、Windows 8、7、および XP でこれをテストしました。考えられる原因の 1 つとして、コマンド拡張機能も無効にしようとしました。