No.5ベストアンサー
- 回答日時:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If (UnloadMode = vbAppWindows) Then
'特別な処理
End If
End Sub
UnloadModeがvbAppWindowsなのは、シャットダウン、ログオフ、再起動の場合のみと思いますが、違いますか?
No.4
- 回答日時:
>結論から言うと、フックするモジュールはDLL化しないといけないようなのです
んなぁこたぁ無いよ
参考urlを読んでの発言だと思うけど、あくまで落ち回避のための事。
機能がしっかりできていて、アプリが落ちなければ、大丈夫。
現に自作アプリのショボランチャーは、DLLにしないで使っている。
使い道としては、シャットダウンを取得するのではなく、デスクトップのダブルクリックを取得している。
確かにデバッグはしづらいけどね。
どっちにしろ、フックしなくちゃいけないから、結局はAPI
この手の質問なら、Cの方で質問したらどう?
んで、サンプルをもらってVBにコンバートしたらいい。
わからなかったらVBの方に、そのコード張ったら、みんなでコンバート合戦開始!
No.3
- 回答日時:
2chさんありがとう。
ということで、グローバルフック・・。
!!!!なんと!!
ほんとかどうかわからないけど、このURLをご覧ください。
結論から言うと、フックするモジュールはDLL化しないといけないようなのです・・。http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
http://www.geocities.co.jp/SiliconValley/1367/Wi …
http://www.kab-studio.com/Programing/Codian/DLL_ …
No.2
- 回答日時:
#1の言うとおり、フックのはず。
だけど参考URLは、ウィンドウフックだから違う。
システム全体をフックしなければならないからSetWindowsHookExを使用するはず。
No.1
- 回答日時:
VB6には、QueryUnloadというイベントがあるかと思います。
プログラムが終了しようとすると、このイベントが呼び出されます。ここで、シャットダウンやログオフなどによる終了を抑止することもできます。
シャットダウンなどの理由を判断するには、UnloadModeを利用できるかどうかわかりませんが、もし、できなければメッセージのフックする必要があるかもしれません。
http://www.remus.dti.ne.jp/~shenron/access/knowh …
こんな雰囲気だったという記憶しかなく、VBをもっていないので、間違ってたらごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 パソコンが正常にシャットダウンしない。 こんばんは。 先日WindowsアップデートをしてWindo 2 2023/02/24 23:11
- Windows 10 パソコン スリープで使っていると電源が点滅していますが 機械 マザーボードに悪いですか? 4 2023/03/13 18:09
- Windows 10 アイコンの位置 1 2022/03/25 09:01
- ノートパソコン surface pro8シャットダウンせず発熱する 1 2022/08/20 02:55
- デスクトップパソコン パソコンについて質問です。 指定時間に使ってなかったら シャットダウンするように設定したいのですが 1 2023/05/30 13:48
- Windows 10 Windows Update は、アップデートデータのダウンロード中に 3 2022/11/06 21:28
- その他(コンピューター・テクノロジー) Windows10の設定が開かない 4 2023/02/15 00:44
- その他(OS) 助けてw Windows11パソコンがシャットダウン出来ない 5 2023/03/07 22:53
- Windows Me・NT・2000 パソコン終了 4 2022/05/09 09:05
- その他(OS) Widgets.exeがオーバーランしました とでます 1 2022/10/15 23:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbaから他のアプリを終了
-
他のウィンドウのボタンを自動...
-
SetWindowText関数について
-
有効でないウインドウハンドル...
-
WM_CTLCOLORDLG
-
メッセージボックスの選択ボタ...
-
メッセージハンドラ
-
VBAでコントロールのハンドルを...
-
VBA 複数セルが空白なら印刷さ...
-
VC++でポップアップアラート
-
エクセルで作った新しいウイン...
-
グラフの交点の求め方(Excel)
-
「アイテムは収集されました」...
-
フォントの大きさ
-
コンボボックス内の文字サイズ変更
-
スピンボタンを右クリックして...
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
勝手にウィンドウが開いて止ま...
-
DateTimePickerでに年月までし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaから他のアプリを終了
-
msgboxの表示位置
-
他のウィンドウのボタンを自動...
-
メッセージボックスの選択ボタ...
-
SetWindowText関数について
-
VBAでコントロールのハンドルを...
-
Excel VBA で外部アプリケーシ...
-
VB.netでFindWindowExやると・...
-
メッセージハンドラ
-
点滅で知らせる方法
-
CloseHandle()
-
システム例外のメッセージを変...
-
WM_NCLBUTTONUPについて
-
デスクトップ上のアイコンの位...
-
メッセージループについて
-
キーボード・フックのアプリを...
-
VBでRegisterWindowMessage関数...
-
WM_CTLCOLORDLG
-
windowsメールスロットについて...
-
マウスフックについて
おすすめ情報