- - PR -
Widowsアプリケーションをバッチファイルとして使用した場合の終了コード取得方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-03-01 09:36
VB.NET初心者なのですが、終了コード取得について困っております。
プロジェクトをWidowsアプリケーションで作成しており、 何もせずに起動した場合はフォームが立ち上がり、 引数を与えて起動した場合はバッチファイルとして処理 を行うようにしています。 この時、バッチファイルとして動作した場合 終了コードを返す必要にせまられています。、 @ITや書籍には、コンソールアプリケーションの場合の 終了コードを返す方法が書かれていますが、 Windowsアプリケーションの場合の方法が判りません。 どなたかWidowsアプリケーションをバッチファイルとして使用した場合の 終了コード取得方法を伝授いただけないでしょうか? | ||||
|
投稿日時: 2006-03-01 10:51
一緒だと思いますが... Main エントリ ポイントで終了コードを return で返すだけですよね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-03-01 11:20
下記のコードを、Windowsアプリケーションとコンソールアプリケーション
(プロジェクトメニュのプロジェクトプロパティの全般項目の出力の種類で変更) で作成した場合、 コンソールアプリケーションの場合は終了コードを取得できましたが、 Windowsアプリケーションでは終了コードを取得できませんでした。 何か別の方法があるのでしょうか? または取得方法が違うのでしょうか? ▼コード ============================================================== Function main() As Integer Dim vbCommand As String = "" Try vbCommand = Microsoft.VisualBasic.Command If vbCommand = "" Then Return -1 Else Return -10 End If Catch ex As Exception Return -99 End Try End Function ============================================================== コマンドプロンプトにより実行した場合の例 ▼結果 ============================================================== C:\a>testCmd.exe s ←Windowsアプリケーション C:\a>echo %errorlevel% 0 C:\a>testCmd2.exe s ←コンソールアプリケーション C:\a>echo %errorlevel% -10 ============================================================== 以上の結果になります。 何かよい方法はないでしょうか。 | ||||
|
投稿日時: 2006-03-01 11:41
Windowsアプリケーションのプロジェクトの、「スタートアップの設定」がフォームになっていませんか?? | ||||
|
投稿日時: 2006-03-01 11:43
そうはならないと思いますが... ステップ実行して確認してみてください。 本当に期待した Return ステートメントが実行されていますか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-03-01 12:14
Windowsアプリケーションの場合,CMD.EXEはプログラムの終了を待たないため,終了コードを取得できていないのでしょう。 START /WAITを使って,Windowsアプリケーションが終了するのを待たせる必要があります。 | ||||
|
投稿日時: 2006-03-01 15:11
いろいろとお世話をおかけいたしまして、無事解決できました。
YuOさんのおっしゃる通りCMD.exeでは期待した結果を得る事ができないため、 コンソールアプリケーションからWindowsアプリケーションの戻り値を取得し、 CMD.exeで起動を行った結果、じゃんぬさんのおっしゃる通り、Windowsアプリケーションでも戻り値を返却いたしておりました。 ありがとうございました。 又、機会がありましたらよろしくお願いします。 |
1