兔八哥极品软件园    运行: 4500天 | 文章:640 篇 | 评论:506 条 | 碎语:1条

拦截关机消息WM_QUERYENDSESSION

作者:admin 发布于:2012-7-7 13:24 Saturday 分类:Windows


LRESULT CALLBACK WindowProc( 
  HWND hwnd,      // handle to window 
  UINT uMsg,      // message identifier 
  WPARAM wParam,  // not used 
  LPARAM lParam   // logoff option
);
详见:http://msdn.microsoft.com/en-us/library/aa376890.aspx

1.只有桌面程序才响应这个消息,console程序和其他是不响应的

2.如果你要拦截系统关机,你必须设置进程相对于其它进程的关闭优先级

BOOL WINAPI SetProcessShutdownParameters(
  __in  DWORD dwLevel,
  __in  DWORD dwFlags
);

详见:http://msdn.microsoft.com/en-us/library/ms686227%28v=vs.85%29.aspx

3.但是如果某个程序通过 ExitWindowsEx(EWX_POWEROFF|EWX_FORCE,0);的方式强制关机,系统就不会发出WM_QUERYENDSESSION消息,当然也就拦截不到了

 


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap