我有一個隱藏的進程,等待非標準的硬件按鈕消息,並運行一個應用程序(與CreateProcess)。用戶不會感到困擾,這是用戶批准他自己的行爲。一切正常,當它是通常的佈局與任務欄顯示和多字幕和非標題窗口。但XP和7的情況不同,當前的應用程序是全屏的。在這種情況下,全屏應用程序是沒有與屏幕尺寸完全相同的邊界的窗口。即使Windows始終打開,Windows仍會隱藏此類應用程序的任務欄。Windows 7是否以不同的方式處理全屏應用程序?
在Xp中,沒有問題,在這種情況下,任務欄和appication(例如計算器)也被顯示,全屏應用程序在啓動應用程序和任務欄以外的區域仍然可見。但是在Windows 7中沒有任何可視化發生,全屏應用程序仍然處於開啓狀態,如果切換到任務欄,執行的應用程序就在那裏。我試圖用SetForegroundWindow,BringWindowToTop,甚至AllowSetForegroundWindow(GetCurrentProcessId())調用與CreateProcess-WaitForIntputIdle-EnumThreadWindows一起找到的窗口句柄來解決它,沒有任何改變。那麼自從XP與正式記錄的全屏窗口有關以來,做了些什麼改變?
感謝,
最大
當你嘗試'SetForegroundWindow'時,你是否也檢查錯誤代碼? (順便說一句,'AllowSetForegroundWindow(GetCurrentProcessId())'是沒有意義的。http://blogs.msdn.com/b/oldnewthing/archive/2009/02/20/9435239.aspx) – jamesdlin 2010-06-30 09:18:39