如何检测 Windows 桌面上是否有其他应用程序处于最大化状态。

如题,在使用 Wallpaper Engine 时如果有其他的应用程序最大化了,将会停止壁纸播放,我想要实现类似的需求。

我现在使用的方式是通过 EnumWindows 来获取所有的窗口句柄,再通过 IsZoomed 来判断窗口是否最大化了,然而失败了。

上面的这个方法再大多数情况下是没有问题的,但也有列外,如使用微信时,打开微信公众号并最大化然后关闭微信所有的可见窗口,检测出来的结果是,微信是最大化显示的,这显然是不对的。

找了很多帖子,效果都不太理想,所以想来这里看看各位大佬 :rofl:

要求:使用语言不限。

我觉得可以 直接挨个判断所有窗口的大小,有没有刚好等于分辨率的。

试过了,也存在一些问题。

IWA(}2VYPN`8A4Y}}H3IV

就如这个应用,它实际上是没有界面的,但是测试出来是有窗口大小的,大小和其他正常应用最大化之后的大小是一样的,就很迷。

需要排除这种所谓“工具类窗口”再进行判断

emmm,如何排除呢,工具类窗口有什么特点嘛 :joy:

ahk代码里,好像是通过判断窗口的style 是否是 0xC00000