小编Bri*_*son的帖子

Windows关闭时正常关闭应用程序

我有一个应用程序,我想在Windows关闭(或用户注销)时正常关闭.这曾经工作(在xp中),但在去年的某个时候它没有任何人注意到.它在Windows 7下也破坏了(但不同).

我们的产品有一个主进程(server.exe),可启动许多其他进程.正常关闭会让server.exe询问它开始关闭的所有进程.但是,当我调试此代码时,似乎其他进程已经终止.我们的主进程(server.exe)是处理WM_QUERYENDSESSION和WM_ENDSESSION消息的唯一进程.下面的代码(这曾经在XP下工作但不再有):

LRESULT CALLBACK master_wnd_proc
(
   HWND hwnd,      /* (in) handle to window */
   UINT uMsg,      /* (in) message identifier */
   WPARAM wParam,  /* (in) first message parameter */
   LPARAM lParam   /* (in) second message parameter */
)
{
   LRESULT result;   /* return value */
   long msg_code;

   switch (uMsg)
   {
      case WM_ENDSESSION:
         if (wParam)
         {
            msg_code = PCS_WINDOWS_SHUTDOWN;
            if( lParam & 0x01L )
               msg_code = WINDOWS_SHUT_CLOSE;
            if( lParam & 0x40000000L )
               msg_code = WINDOWS_SHUT_CRIT;
            if( (unsigned long)lParam & 0x80000000 …
Run Code Online (Sandbox Code Playgroud)

windows windows-7

5
推荐指数
1
解决办法
1380
查看次数

标签 统计

windows ×1

windows-7 ×1