程序如何屏蔽系统的显示桌面功能?

软件和网站开发以及相关技术探讨
回复
头像
LinuxLin365
帖子: 11
注册时间: 2023-12-05 11:14

程序如何屏蔽系统的显示桌面功能?

#1

帖子 LinuxLin365 » 2024-04-19 17:07

被win+d隐藏掉的窗口,在qt层面查询当前窗口状态是show的,使用x11查看是Map State: IsViewable

如何让自己的窗口程序不被系统的显示桌面功能(win+d)隐藏掉?

或者能够识别到显示桌面的动作,主动把自己显示出来(打印了窗口的所有事件,没有看到有对应的事件)
头像
astolia
论坛版主
帖子: 6465
注册时间: 2008-09-18 13:11

Re: 程序如何屏蔽系统的显示桌面功能?

#2

帖子 astolia » 2024-04-19 19:32

LinuxLin365 写了: 2024-04-19 17:07 被win+d隐藏掉的窗口,在qt层面查询当前窗口状态是show的,使用x11查看是Map State: IsViewable

如何让自己的窗口程序不被系统的显示桌面功能(win+d)隐藏掉?

或者能够识别到显示桌面的动作,主动把自己显示出来(打印了窗口的所有事件,没有看到有对应的事件)
不存在“系统的显示桌面功能”这么一个东西。只有各个窗口管理器/混成器自己的实现方式。

从你的描述来看,你的系统上的窗口管理器/混成器实现方式是不将窗口的内容放到最终显示上,这对于窗口程序而言是无感知的。你最多只能研究所用的窗口管理器/混成器的源代码,注入代码搞搞hook

或者取巧一点,给窗口管理器/混成器取消显示桌面功能的按键绑定,如果它有这方面的设置的话
回复