当我在python中注销Windows时,如何检测或通知?
编辑:Martinv.Löwis的回答很好,并且可以完全注销,但它不能用于"快速用户切换"事件,例如按下win + L,这是我真正需要的.
编辑:我不使用gui这是作为服务运行
您可以使用终端服务API检测快速用户切换事件,您可以使用pywin32中的win32ts
模块从Python访问该API .在GUI应用程序中,调用WTSRegisterSessionNotification以接收通知消息,WTSUnRegisterSessionNotification以停止接收通知,并在窗口过程中处理消息.WM_WTSSESSION_CHANGE
如果您使用Python编写Windows服务,请使用该RegisterServiceCtrlHandlerEx
功能检测快速用户切换事件.这在pywin32库中可用作模块中的RegisterServiceCtrlHandler
函数servicemanager
.在处理程序函数中,查找SERVICE_CONTROL_SESSIONCHANGE
通知.有关WM_WTSSESSION_CHANGE
特定通知代码的详细信息,另请参阅文档.
来自python-win32邮件列表的这个帖子中有一些更详细的信息,这可能很有用.
我希望这有帮助!