希望在事件触发功能中支持全屏触发,以及关于如何检测全屏的方案讨论

功能建议 · 493 次浏览
2016 创建于 2023-05-09 22:32

目前看了一大圈,在动作中主动去检测全屏这需求仍然缺少解决方案。我了解到qk的全屏识别经过多次优化,所以希望大大将这个功能下放给动作调用。

关于如何检测全屏的方案讨论:

Windows的全屏机制真的有点复杂,我之前分享过一个全屏隐藏悬浮动作(全屏隐藏悬浮 - 动作信息 - Quicker (getquicker.net)

机制就是判断窗口的大小是否等于整个屏幕的大小,加上黑名单(比如手动排除explorer),这肯定有不妥之处,某些游戏程序在全屏模式下可能会隐藏窗口边框,导致窗口大小与屏幕大小不一致。对多显示器的支持也不好。

我目前的思路是,先枚举所有显示器,并将它们的位置和大小保存在一个列表中。然后检查前台/指定窗口依次判断它是否覆盖了某个显示器的区域,或者包含全屏标志位。但是,这在qk下的实现有点复杂。

欢迎大佬们积极进来讨论!


回复内容
CL 2023-05-10 07:50
#1

什么情况下需要检测全屏? 目前似乎也没有别的更好的办法,只能判断一下窗口大小是不是比屏幕大小大或相等。

2016 回复 CL 2023-05-10 14:25 :

比如全屏自动隐藏悬浮动作这个需求,又比如我现在正在弄的彩云天气+,我想实现全屏时不弹出窗口以免打扰

2016 最后更新于 2023-05-10 14:27
回复主贴