Windows終了と同時に稼動中のVBアプリも終了するには?

解決


ざりんぐ  2002-12-17 21:45:46  No: 76656  IP: [192.*.*.*]

はじめまして。。。
PC起動時にWindowsスタートアップでVBアプリを起動し、PC停
止(Windowsシャットダウン)時にそのVBアプリを自動終了させ
よう(「このプログラムは応答なし」のメッセージ表示させず
に)と考えております。なお、この際にUnloadキャンセルの
する/しないの確認不要です。
いったいどのようにプログラムを書いたらよいのでしょう?
QueryUnloadを使うようですが、書き方がよくわからなくて。
(・・・というより関数の使い方をよくわかってないのですが)
どうぞ、このVB初心者にどなたかソース例文をバシッと教えて
下さい。宜しくお願い致します。

編集 削除
K  2002-12-18 08:36:27  No: 76657  IP: [192.*.*.*]

まずスタートアップで起動はスタートアップフォルダに入れとけばいいので、
簡単に可能だと思います。

シャットダウン時の終了ですが、特に何もいらないような気がします。
(違うかもしれないですが)
起動したままWindows終了したら勝手にVBアプリも終わりませんか?
(ためしてません、終わらなかったらごめんなさい)

QueryUnloadを使って何らかの処理を行うなら、
unloadmodeがvbAppWindowの時にしたらいいかと。
(例えばログ書込みとか)
-----
Private Sub frmTest_QueryUnload(cancel As Integer, unloadmode As Integer)
    If unloadmode = vbAppWindow Then
        subWriteLogTest
    End If
End Sub

てな感じで。

編集 削除
ざりんぐ  2002-12-18 10:29:36  No: 76658  IP: [192.*.*.*]

Kさん、アドバイスありがとうございました!

おかげさまで、VBアプリ動作状態のままWindows終了した時に数秒間だまり
こんだ後に「このアプリケーションからの応答がありません。・・・」の
メッセージボックスがいちいち返ってくる現象を回避する事ができます。
ちなみに下記でうまくいきました。

'-----------------------------------------------------------------
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

    ・・・(略)・・・

L001: 
    If UnloadMode = vbAppWindows Then
        Unload Me: Exit Sub: End
    End If

    ・・・(略)・・・

    GoTo L001 '--- Windows終了監視のためループ

End Sub
'-----------------------------------------------------------------

では、失礼いたします。m(_ _)m

編集 削除