【问题标题】:How to intercept messages about reboot or logoff?如何拦截有关重新启动或注销的消息?
【发布时间】:2020-07-18 12:00:02
【问题描述】:

我试图找到这方面的信息,但只找到了 WM_QUERYENDSESSION 函数。如何使用它来拦截重启/关机消息?

import win32gui, win32con

msg = win32gui.GetMessage(None, 0, 0)
if msg and msg.message == win32con.WM_QUERYENDSESSION:
    print('EXIT')

这是我的代码示例,但是当我运行它时,它不处理任何操作。并且不拦截关机消息

【问题讨论】:

  • 这直接来自documentation“一个窗口通过它的WindowProc函数接收到这个消息。”你为什么不去读它?

标签: python python-3.x winapi win32gui


【解决方案1】:

根据WM_QUERYENDSESSIONWM_QUERYENDSESSION 消息在用户选择结束会话或应用程序调用系统关闭函数之一时发送。窗口通过其WindowProc 函数接收此消息。

所以这条消息只有在应用程序发送并被WindowProc函数接受时才会生效。

【讨论】:

    猜你喜欢
    • 2010-09-14
    • 1970-01-01
    • 2020-06-03
    • 2012-01-13
    • 2013-04-07
    • 2012-03-17
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多