プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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() 呼び出しは、
サポートされていません。 』とありますので、
この、問題の解決方法か、別の安全な方法を模索しているところです。
もし、これに関して情報がありましたら、
ご教示いただけると、助かります。

補足日時:2009/07/30 16:42
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A