如何阻止窗口被“显示桌面”或WINDOWS+D命令隐藏?

wang1st 2011-02-22 05:44:44
我有窗口,是对话框的,我不想让它在最顶层显示,其实我是想让它在最底层显示,当用户使用“显示桌面”或者用WINDOWS+D组合命令的时候,就能看见它运行了。我是想做一个在后台实时显示天气的程序,好像直接画在壁纸上一样的,所以就需要这样的功能。但是目前我想要做到在最底层显示,又不被“显示桌面”或WINDOWS+D命令执行的时候隐藏掉,该怎么办呢?
...全文
1341 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2011-03-19
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
Torch009 2011-03-01
  • 打赏
  • 举报
回复
程序里屏蔽win + D不行吗?
wang1st 2011-03-01
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 bffeey 的回复:]
win +d时 你看一下 窗口会收到什么消息
再次做个处理好了
[/Quote]

收不到什么消息
辰岡墨竹 2011-03-01
  • 打赏
  • 举报
回复
Win+D的过程就是将其他窗口最小化,然后把桌面窗口提到Z顺序顶层,如果你的窗口还在最底层的话,根本显示不出来。
你可以用这个
http://topic.csdn.net/u/20081007/23/4c84494d-6caa-4eb2-a2c4-2f73c67e8a63.html
通过检查指定桌面区域是否被遮挡来试试。
bffeey 2011-02-26
  • 打赏
  • 举报
回复
win +d时 你看一下 窗口会收到什么消息
再次做个处理好了
wang1st 2011-02-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bokutake 的回复:] Win D显示桌面时,HWND_TOPMOST风格的窗口还是会在最上面的。 [/Quote] 这个我知道。但是我的窗口需要在最底层显示。而不是topmost
wang1st 2011-02-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bokutake 的回复:]

Win+D显示桌面时,HWND_TOPMOST风格的窗口还是会在最上面的。
[/Quote]

这个我知道。但是我的窗口需要在最底层显示。而不是topmost
辰岡墨竹 2011-02-24
  • 打赏
  • 举报
回复
Win+D显示桌面时,HWND_TOPMOST风格的窗口还是会在最上面的。
辰岡墨竹 2011-02-24
  • 打赏
  • 举报
回复
::SetWindowPos(GetSafeHwnd(), HWND_TOPMOST, 0, 0, 0, 0,SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE);
wang1st 2011-02-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 oyljerry 的回复:]
做成悬浮窗格式... 以桌面为父窗口...
[/Quote]

我试过以桌面为父窗口,的确能够实现,但是貌似其中的控件自动透明起来,看起来很怪异。
另外我用了一下spy++看了迅雷和360的流量浮窗,它们好像并不是以桌面为父窗口的。
wang1st 2011-02-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tandyt 的回复:]
引用 1 楼 oyljerry 的回复:
做成悬浮窗格式... 以桌面为父窗口...


可以,就像 迅雷或者快车的那个悬浮窗一样。
[/Quote]

具体怎么实现呢?
TandyT 2011-02-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 oyljerry 的回复:]
做成悬浮窗格式... 以桌面为父窗口...
[/Quote]

可以,就像 迅雷或者快车的那个悬浮窗一样。
haogeai123 2011-02-22
  • 打赏
  • 举报
回复
用钩子实现试试
fishion 2011-02-22
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20060113/16/4515373.html
参考下这里?
或者你就直接在桌面DC里绘图显示,先用WindowFromPoint取几个点大概判断要绘制图片的那个位置的点的窗口是什么,如果是桌面就绘制,如果不是就不绘制
oyljerry 2011-02-22
  • 打赏
  • 举报
回复
做成悬浮窗格式... 以桌面为父窗口...

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧