检查是否启动关闭的win32函数是什么?
编辑:我需要在Windows服务(COM)中检查它。怎么做?答案 0 :(得分:6)
没有实际的Win32功能来检查它。
相反,Windows会在启动关闭时向每个应用程序发送WM_QUERYENDSESSION
消息。
您可以回复该消息,例如取消关机。 (虽然除非绝对必要,否则你不应该这样做)
在实际关闭之前,会发送WM_ENDSESSION
消息。
您应该只在此消息之后进行任何清理,因为无法保证系统在WM_QUERYENDSESSION
之后实际关闭。
修改强> 如果你想从服务中收听这些消息,你必须在其中加入更多的工作。
服务通常没有窗口,因此您不能简单地挂钩到现有的窗口消息队列中。相反,您必须创建一个虚拟窗口,它仅用于处理消息并使用它来处理上面的消息。
有关message-only windows的详细信息,请参阅MSDN文档。