如何在Python或PyQt4中捕获系统Logoff / ShutDown / Lock事件

时间:2012-12-04 13:19:41

标签: python pyqt4

我在.NET中有一个应用程序,现在我使用Python和PyQt重新编码。在我的应用程序中,我需要知道系统事件(锁定,注销,重新启动和关闭)。我可以使用下面的snippit

从.NET Frame work 3.5管理它
AddHandler SystemEvents.SessionEnding, AddressOf ClosingApplication
AddHandler SystemEvents.SessionSwitch, AddressOf SessionSwitchEvent

根据系统的不同,我需要做一些事情来更新我的数据库。

任何人都可以帮助我......

1 个答案:

答案 0 :(得分:1)

您需要使用pywin32 library。它是win32api的包装类。然后,您可以使用SetConsoleCtrlHandler来捕获信号。

要干净地捕获产生控制台窗口所需的信号。要使应用程序干净运行,可以在隐藏状态下运行控制台窗口。有关如何生成控制台窗口的详细信息,请参阅:Python - Windows Shutdown Events