[EXPLORER][EXPLORER_NEW]
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 15 Jun 2014 20:02:26 +0000 (20:02 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 15 Jun 2014 20:02:26 +0000 (20:02 +0000)
[TASKMGR]
Set a proper shutdown level (with SetProcessShutdownParameters) so that explorer and taskmgr are terminated the very last when one shutdowns ReactOS.
See Windows Internals 4th page 286 (section "Shutdown") which gives the values (that I've cross-checked on Windows 2k3 too).

svn path=/trunk/; revision=63601

reactos/base/applications/taskmgr/taskmgr.c
reactos/base/shell/explorer/explorer.cpp

index 5fec614..cf94146 100644 (file)
@@ -172,6 +172,12 @@ int APIENTRY wWinMain(HINSTANCE hInstance,
         return -1;
     }
 
+    /*
+     * Set our shutdown parameters: we want to shutdown the very last,
+     * without displaying any end task dialog if needed.
+     */
+    SetProcessShutdownParameters(1, SHUTDOWN_NORETRY);
+
     DialogBoxW(hInst, (LPCWSTR)IDD_TASKMGR_DIALOG, NULL, TaskManagerWndProc);
 
     /* Save our settings to the registry */
index db931cb..ffe9d23 100644 (file)
@@ -1203,6 +1203,12 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
             "ROS Explorer - command line options", MB_OK);
     }
 
+    /*
+     * Set our shutdown parameters: we want to shutdown the very last,
+     * but before any TaskMgr instance (which has a shutdown level of 1).
+     */
+    SetProcessShutdownParameters(2, 0);
+
     Thread* pSSOThread = NULL;
 
     if (startup_desktop) {