いつもお世話になっております。
sherryと申します。
過去ログ等いろいろ調べてみたのですがよくわからないのでお教えください。
VBで作ったアプリをタスクトレイに常駐させています。
常駐したままの状態でWindowsをシャットダウンすると、
アプリは強制終了されます。
これを強制終了しないように、Windowsをシャットダウンするときに
VBのプログラムでアプリを終了させたいのですが、どのようにしたら良いのでしょうか?
WM_QUERYENDSESSIONを受信してやればいいのかしら・・・
というところまではなんとなくはわかるのですが、
記述の方法が良くわかりません。
また、FormのQueryUnloadイベントでも可能なのか。
というところで悩んでおります。
お手数ですが、アドバイス等、よろしくお願いいたします。
実際やったことはないんですが、Form_QueryUnloadイベントの
UnloadModeの定数にvbAppTaskManagerというのがあります。
これを使って処理できませんか?
If UnloadMode = vbAppTaskManager then
'ここに処理を書く
End If
takk様、どうもありがとうございます。
試してみます。。。
ちなみに、.netの場合はForm.Closingイベントでよいのですよね?
たびたびもうしわけございませんが、よろしくお願いいたします。
たびたびすみません。。。とんでもなく自分で勘違いしていました。
もともと、タスクトレイに常駐していて、
この終了処理をいれたいのは、MAIN()の中なので、フォームがないのです。
なので、やはりWM_QUERYENDSESSIONを受信してから処理という形にしないといけないのかと思うのですが…
ほかにもいろいろ調べてみます。
とりあえず解決ということに。。。
takk様、本当にありがとうございました。
WM_QUERYENDSESSIONを受信したらという処理でやることにいたします。
とはいっても、記述の仕方がさっぱりわからないので、
この状態で質問しては、回答される方のご迷惑になるかと思います。
もう少し調べて、どうしてもわからなくなったときにお力をお借りするということで。。
どうもありがとうございました。
takk様、大変失礼いたしました。
タスクトレイに常駐していてもできました。
WindowsをシャットダウンするときにForm_QueryUnloadイベントが
おきているのですね。
表面上にはFormがないのでイベントが起きないのかと思っておりました。
あぁ。本当にありがとうございました。