• ベストアンサー

VBアプリケーションで終了コードを指定する方法

VB6でアプリケーションを作成しますが、 親プロセスに終了コードを返して、Errorの有無を 認識させたいと思います。 VB6で可能でしょうか?? 可能なら、どのような方法があるでしょう?? よろしくお願い申します。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.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 といったバッチで判定できるでしょう

momomimi
質問者

補足

redfox63 さん、早速のご教示、ありがとうございます。 大変参考になりました。 感謝・感謝 わたしも、API ExitProcess を呼び出して、 実験しているのですが、いまのところ、 問題なく動作しているようです。 ただし、「http://support.microsoft.com/kb/288216/ja」 に、 次のような記述がありまして、心配しています。 『Visual Basic アプリケーションから ExitProcess() API を 直接呼び出した場合、プロセスが正常終了しないことがあります。 場合によっては、ExitProcess() 呼び出しが原因でアクセス違反が 発生したり、プロセスがデッドロックしたりすることがあります。 Visual Basic アプリケーションからの ExitProcess() 呼び出しは、 サポートされていません。 』とありますので、 この、問題の解決方法か、別の安全な方法を模索しているところです。 もし、これに関して情報がありましたら、 ご教示いただけると、助かります。

関連するQ&A