[EXPLORER] Implement the feature of cleanly shutting down the explorer shell when...
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 7 Apr 2018 22:33:23 +0000 (00:33 +0200)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 7 Apr 2018 22:36:56 +0000 (00:36 +0200)
See the feature description in https://msdn.microsoft.com/en-us/library/windows/desktop/cc144064(v=vs.85).aspx
and the additional observations reported in CORE-14358 .

base/shell/explorer/traywnd.cpp

index 2bbe3c5..4095bc1 100644 (file)
@@ -327,7 +327,19 @@ public:
 
     LRESULT DoExitWindows()
     {
+        /* Display the ReactOS Shutdown Dialog */
         ExitWindowsDialog(m_hWnd);
+
+        /*
+         * If the user presses CTRL+ALT+SHIFT while exiting
+         * the shutdown dialog, exit the shell cleanly.
+         */
+        if ((GetKeyState(VK_CONTROL) & 0x8000) &&
+            (GetKeyState(VK_SHIFT)   & 0x8000) &&
+            (GetKeyState(VK_MENU)    & 0x8000))
+        {
+            PostMessage(WM_QUIT, 0, 0);
+        }
         return 0;
     }