我正在尋找一種方法來截獲ShowDesktop事件並將我的窗口設置在前面。 有沒有辦法做到這一點,而不使用API鉤子? 謝謝, 奧馬爾。如何攔截「顯示桌面」事件?
回答
如果您正在編寫Windows任務欄樣式碼頭,那麼只需確保您的窗口已設置爲WS_EX_TOPMOST
,並且「顯示桌面」將使其保持獨立。或者,使用SetWindowPos
使它已經創建後的最頂層窗口,例如:
SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);
更新:您需要使用Windows應用程序欄API做一個「碼頭」風格的應用程序。有關更多詳細信息,請參閱here。
應用程序欄也需要從Alt + Tab等顯示的頂層列表中刪除,這可以通過添加WS_EX_TOOLWINDOW
和刪除WS_EX_APPWINDOW
來完成。
我應該早點說清楚,道歉。
聽起來不錯,但不起作用。 – 2011-03-29 20:22:18
適用於使用Windows AppBar API的任務欄式應用程序。 – Rob 2011-03-29 20:27:17
我從空的Win32項目開始。不知道爲什麼這不起作用。 – 2011-03-29 20:32:23
- 1. Sitefinity攔截頁面事件
- 2. 如何攔截NotifyPropertyChange事件
- 3. 如何在菜單顯示時攔截關鍵事件
- 4. 攔截桌面的渲染和交互
- 5. 攔截頁面退出事件
- 6. 在delphi上攔截提示事件
- 7. 如何停止攔截觸摸事件?
- 8. 如何攔截Qt Quick qml事件?
- 9. 如何攔截所有觸摸事件?
- 10. 如何用Perl攔截鍵盤事件?
- 11. 如何全球攔截觸摸事件?
- 12. 如何攔截UIScrollView滾動事件?
- 13. 如何攔截AngularJS $ http日誌以顯示在頁面
- 14. 攔截聚合物事件
- 15. 通過iframe攔截事件
- 16. 城堡DynamicProxy攔截事件
- 17. 攔截JavaScript卸載事件
- 18. 攔截觸摸事件SlidingPaneLayout
- 19. 如何攔截
- 20. 如何爲ILogger攔截攔截器
- 21. iTunes插件編程:攔截事件
- 22. 附件提醒後攔截OnSend事件
- 23. Postpost第三方組件事件攔截
- 24. 顯示備用的廣告攔截
- 25. 如何攔截WebBrowser控件中的onbeforeunload事件?
- 26. 如何攔截osx上文件夾的雙擊事件?
- 27. 我如何有條件地攔截觸摸事件?
- 28. EJB攔截器和事務生命週期或如何攔截提交/失敗事件?
- 29. Sammy.js攔截所有點擊事件
- 30. 可能攔截change事件嗎?
請不要這樣做。你不擁有電腦,你的程序的用戶。如果他們不想看到你的節目,那是他們的選擇。 – 2011-03-29 19:42:54
我希望不是。你爲什麼想這樣做? – Mat 2011-03-29 19:43:09
聽起來像一個完全可怕的想法。 – 2011-03-29 19:43:10