2

コマンドpromtからWindowsフォームアプリケーションを起動していますが、Windowsフォームアプリケーションが生成する終了コードを取得する必要があります。コマンドpromtはアプリケーションを起動し、すぐに戻ります。ただし、アプリケーションはバックグラウンドで実行されます。終了コードを取得する方法はありますか?

敬具

キリスト教徒。

4

1 に答える 1

10

答えは

start /wait [あなたの命令]

その後

エコー %errorlevel%

戻り値を抽出します。

--

そして、私はバッチファイルを書くのが好きなので... (それは私の問題です...)

@エコーオフ
echo プログラムの終了を待っています...
開始/待機 %*
echo リターン コードは %errorlevel% でした

.bat 拡張子を付けてどこかに保存します。実行したいプログラムのコマンドラインを引数として実行します。指定したコマンドを実行し、終了するのを待ってから、戻り値を出力します。

ドキュメント (start /?) が言うように、 start /wait 行をアプリに置き換えることで、プログラムをハードコーディングすることもできます。

32 ビット GUI アプリケーションであるアプリケーションを実行すると、CMD.EXE はアプリケーションが終了するのを待たずにコマンド プロンプトに戻ります。コマンド スクリプト内で実行する場合、この新しい動作は発生しません。

コマンド拡張機能が有効になっているかどうかに関係なく、スクリプトから呼び出された場合、CMD は winform を待機します。

于 2009-01-21T13:43:37.770 に答える