目前看了一大圈,在动作中主动去检测全屏这需求仍然缺少解决方案。我了解到qk的全屏识别经过多次优化,所以希望大大将这个功能下放给动作调用。
关于如何检测全屏的方案讨论:
Windows的全屏机制真的有点复杂,我之前分享过一个全屏隐藏悬浮动作(全屏隐藏悬浮 - 动作信息 - Quicker (getquicker.net))
机制就是判断窗口的大小是否等于整个屏幕的大小,加上黑名单(比如手动排除explorer),这肯定有不妥之处,某些游戏程序在全屏模式下可能会隐藏窗口边框,导致窗口大小与屏幕大小不一致。对多显示器的支持也不好。
我目前的思路是,先枚举所有显示器,并将它们的位置和大小保存在一个列表中。然后检查前台/指定窗口依次判断它是否覆盖了某个显示器的区域,或者包含全屏标志位。但是,这在qk下的实现有点复杂。
欢迎大佬们积极进来讨论!