我想防止用户关闭或重新启动系统。我的应用程序作为一个Win32本地服务(由C ++写的),并在本地系统账户。

我听到WM_QUERYENDSESSION它的溶液:在创建隐藏的窗口并捕获WM_QUERYENDSESSION防止停机

但这种方法是不是很干净,还必须为每个桌面一个窗口。所以,我必须枚举桌面和还在乎桌面创建时/ destoryed有关。所有这些都使情况讨厌!

有什么方法来检测关机/重启事件,并防止系统关机/重启?

(该事件是关机或重新启动它并不重要,他们都必须取消!)

有帮助吗?

解决方案

您不能。

由于允许程序阻止关机/重启会在一定程度上存在安全漏洞的,你不觉得吗?

如果用户告诉系统关机或重新启动,这是发生了什么事情发生。

顺便说一句,WM_QUERYENDSESSION是在当前用户正在注销的视窗的通过。这是一个通知,仅此而已,如果你在那么任何其他方式使用它,你会错误地使用它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top