[WIN32SS] Move SwitchToThisWindow codes to win32k (#987)
[reactos.git] / win32ss / user / user32 / windows / window.c
index cad8861..df54380 100644 (file)
@@ -79,22 +79,9 @@ BringWindowToTop(HWND hWnd)
 
 
 VOID WINAPI
 
 
 VOID WINAPI
-SwitchToThisWindow(HWND hwnd, BOOL fAltTab)
+SwitchToThisWindow(HWND hwnd, BOOL bUnknown)
 {
 {
-    HWND hwndFG;
-    if (fAltTab)
-    {
-        if (IsIconic(hwnd))
-            PostMessageW(hwnd, WM_SYSCOMMAND, SC_RESTORE, 0);
-        SetForegroundWindow(hwnd);
-    }
-    else
-    {
-        hwndFG = GetForegroundWindow();
-        PostMessageW(hwnd, WM_SYSCOMMAND, SC_RESTORE, 0);
-        SetWindowPos(hwnd, hwndFG, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
-        SetWindowPos(hwndFG, hwnd, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
-    }
+    NtUserxSwitchToThisWindow(hwnd, bUnknown);
 }
 
 
 }
 
 
@@ -127,7 +114,9 @@ ChildWindowFromPointEx(HWND hwndParent,
 BOOL WINAPI
 CloseWindow(HWND hWnd)
 {
 BOOL WINAPI
 CloseWindow(HWND hWnd)
 {
-    return PostMessageW(hWnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
+    /* NOTE: CloseWindow does minimizes, and doesn't close. */
+    SetActiveWindow(hWnd);
+    return ShowWindow(hWnd, SW_SHOWMINIMIZED);
 }
 
 FORCEINLINE
 }
 
 FORCEINLINE