响应系统关闭过程

Roc*_*her 3 vb6 hook shutdown

我构建了一个 VB6 应用程序在后台运行并告诉我大写锁定键何时循环。它在 Windows 启动时启动,因此它始终处于开启状态,但当我要关闭计算机时,该应用程序会挂起 Windows 8 中的关闭进程。

是否有要监视的系统范围事件,或者是否有其他方法可以捕获我可以用来优雅地终止我的应用程序的关闭命令?

Bon*_*ond 5

收到系统关闭通知的标准方式是通过Form_QueryUnload()。当操作系统关闭时,该UnloadMode参数将等于vbAppWindows。例如:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = vbAppWindows Then

        ' OS is shutting down. Close gracefully.

    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

或者,您可以对窗口进行子类化并侦听消息WM_QUERYENDSESSION