2012-07-08 17 views
2

我目前使用ShowWindow(hwnd, SW_HIDE),但Alt鍵標籤似乎仍然可以切換到它是隱藏了。(C++/win32)中隱藏一個窗口,使用戶不能使用Alt-Tab或切換到它

有沒有辦法完全隱藏一個窗口而不會破壞它?

編輯:我應該補充說,使用WS_EX_TOOLBOX風格沒有幫助。足夠的替代標籤ShowWindow(SW_SHOW),一些奇怪的事情發生。

+0

SW_HIDE應該工作。你確定你的消息得到了傳遞嗎?您的電話SW_HIDE後,您的主要GUI線程是否仍然泵送信息? – 2012-07-08 10:42:42

+0

@IvanShcherbakov是的消息正在交付...此外,我嘗試處理WM_ACTIVATE,而Alt-Tab只是停止發送WM_ACTIVATE消息幾個Alt-Tabs後。 – Joshua 2012-07-08 11:18:06

+0

你究竟如何處理它們?如果你開始爲每個消息返回DefWindowProc(),只是爲了一個簡單的實驗,SW_HIDE是否按預期工作? – 2012-07-08 18:07:26

回答

0

試試這個代碼隱藏窗口
我試試這個代碼和隱藏的窗口將不會出現在您按下Alt鍵 + 標籤 [我使用的雙贏XP]
要顯示窗口按標籤 + Esc鍵

HWND hwnd_win = GetForegroundWindow(); 
ShowWindow(hwnd_win,SW_HIDE); 
while(1) 
{ 
    Sleep(1000); 
    if(GetAsyncKeyState(VK_ESCAPE|VK_TAB)) 
     break; 
} 
ShowWindow(hwnd_win,SW_SHOW); 
+0

= /我正在使用Windows 7,並且可以確認如果您按Alt + Tab足夠多的時間,「SW_HIDE」沒有完全躲避Alt + Tab。 – Joshua 2012-07-08 08:16:52

+0

好吧我正在使用Win-XP並且它工作正常.. http://msdn.microsoft.com/en-us/library/windows/desktop/ms633548%28v=vs.85%29.aspx – 2012-07-08 08:22:42