如何从Win32服务关机或重新启动防范系统?
-
19-09-2019 - |
题
我想防止用户关闭或重新启动系统。我的应用程序作为一个Win32本地服务(由C ++写的),并在本地系统账户。
我听到WM_QUERYENDSESSION它的溶液:在创建隐藏的窗口并捕获WM_QUERYENDSESSION防止停机
但这种方法是不是很干净,还必须为每个桌面一个窗口。所以,我必须枚举桌面和还在乎桌面创建时/ destoryed有关。所有这些都使情况讨厌!
有什么方法来检测关机/重启事件,并防止系统关机/重启?
(该事件是关机或重新启动它并不重要,他们都必须取消!)
解决方案
您不能。
由于允许程序阻止关机/重启会在一定程度上存在安全漏洞的,你不觉得吗?
如果用户告诉系统关机或重新启动,这是发生了什么事情发生。
顺便说一句,WM_QUERYENDSESSION是在当前用户正在注销的视窗的通过。这是一个通知,仅此而已,如果你在那么任何其他方式使用它,你会错误地使用它。
不隶属于 StackOverflow