コマンドpromtからWindowsフォームアプリケーションを起動していますが、Windowsフォームアプリケーションが生成する終了コードを取得する必要があります。コマンドpromtはアプリケーションを起動し、すぐに戻ります。ただし、アプリケーションはバックグラウンドで実行されます。終了コードを取得する方法はありますか?
敬具
キリスト教徒。
コマンドpromtからWindowsフォームアプリケーションを起動していますが、Windowsフォームアプリケーションが生成する終了コードを取得する必要があります。コマンドpromtはアプリケーションを起動し、すぐに戻ります。ただし、アプリケーションはバックグラウンドで実行されます。終了コードを取得する方法はありますか?
敬具
キリスト教徒。
答えは
start /wait [あなたの命令]
その後
エコー %errorlevel%
戻り値を抽出します。
--
そして、私はバッチファイルを書くのが好きなので... (それは私の問題です...)
@エコーオフ echo プログラムの終了を待っています... 開始/待機 %* echo リターン コードは %errorlevel% でした
.bat 拡張子を付けてどこかに保存します。実行したいプログラムのコマンドラインを引数として実行します。指定したコマンドを実行し、終了するのを待ってから、戻り値を出力します。
ドキュメント (start /?) が言うように、 start /wait 行をアプリに置き換えることで、プログラムをハードコーディングすることもできます。
32 ビット GUI アプリケーションであるアプリケーションを実行すると、CMD.EXE はアプリケーションが終了するのを待たずにコマンド プロンプトに戻ります。コマンド スクリプト内で実行する場合、この新しい動作は発生しません。
コマンド拡張機能が有効になっているかどうかに関係なく、スクリプトから呼び出された場合、CMD は winform を待機します。