检测全屏模式切换,无需每秒手动检查

时间:2013-03-04 23:39:00

标签: windows winapi window-messages

我有一个最顶层的窗口。我需要它是任何其他最顶层窗口的最顶层,但不覆盖任何全屏窗口: 特别是:{Windows Media Player,Youtube flash player,RDP}

有一个持续检查的解决方案:

  • 我检查的每隔YYY毫秒(在同一显示器上)是另一个最大的窗口,其尺寸等于屏幕尺寸。
  • 如果是这样的话:让我的窗户不在最顶层,否则将它放在最顶层。

但我正在寻找另一种资源消耗较少的解决方案,该解决方案不会执行数十次系统调用,并且每秒都会遍历最顶层窗口的整个树。

我可以处理任何WM _

我可以将钩子注入一个进程。

问题:

如何检测同一桌面上的全屏窗口?

如何使用传入的WM_(s)或除连续检查以外的任何技术检测全屏模式?

1 个答案:

答案 0 :(得分:1)

签出SetWindowsHookEx()以设置CBT挂钩(WH_CBT)。特别是,在移动或调整窗口时,您CBTProc()会收到WHCBT_MOVESIZE通知。

相关问题