我正在寻找一种方法来截获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