- ベストアンサー
VBアプリケーションで終了コードを指定する方法
VB6でアプリケーションを作成しますが、 親プロセスに終了コードを返して、Errorの有無を 認識させたいと思います。 VB6で可能でしょうか?? 可能なら、どのような方法があるでしょう?? よろしくお願い申します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
VB6の機能だけでは無理なように思います WinAPIのExitProcessを使えば出来そうです この場合 Sub Main経由でやったほうがいいかもしれません たとえば 標準モジュールに Public Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long) Public bFlag As Boolean Sub Main() Form1.Show vbModal If bFlag Then ExitProcess 1 End If ExitProcess 2 End Sub といった具合のコードが記述してあれば bFlagがTrueならば 1を返し それ以外なら 2を返すといったことが可能です バッチファイルから呼び出すならば Text.exe if errorlevel == 3 goto L3 if errorlevel == 2 goto L2 echo "1" goto exit :L2 echo "2" goto exit :L3 echo "3" :exit といったバッチで判定できるでしょう
補足
redfox63 さん、早速のご教示、ありがとうございます。 大変参考になりました。 感謝・感謝 わたしも、API ExitProcess を呼び出して、 実験しているのですが、いまのところ、 問題なく動作しているようです。 ただし、「http://support.microsoft.com/kb/288216/ja」 に、 次のような記述がありまして、心配しています。 『Visual Basic アプリケーションから ExitProcess() API を 直接呼び出した場合、プロセスが正常終了しないことがあります。 場合によっては、ExitProcess() 呼び出しが原因でアクセス違反が 発生したり、プロセスがデッドロックしたりすることがあります。 Visual Basic アプリケーションからの ExitProcess() 呼び出しは、 サポートされていません。 』とありますので、 この、問題の解決方法か、別の安全な方法を模索しているところです。 もし、これに関して情報がありましたら、 ご教示いただけると、助かります。