VOID WINAPI
-SwitchToThisWindow(HWND hwnd, BOOL fAltTab)
+SwitchToThisWindow(HWND hwnd, BOOL bUnknown)
{
- HWND hwndFG;
- if (fAltTab)
- {
- if (IsIconic(hwnd))
- ShowWindowAsync(hwnd, SW_RESTORE);
- SetForegroundWindow(hwnd);
- }
- else
- {
- hwndFG = GetForegroundWindow();
- ShowWindow(hwnd, SW_RESTORE | SW_SHOWNA);
- 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);
}
BOOL WINAPI
CloseWindow(HWND hWnd)
{
- SendMessageA(hWnd, WM_SYSCOMMAND, SC_CLOSE, 0);
-
- return HandleToUlong(hWnd);
+ /* NOTE: CloseWindow does minimizes, and doesn't close. */
+ SetActiveWindow(hWnd);
+ return ShowWindow(hWnd, SW_SHOWMINIMIZED);
}
FORCEINLINE