0

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

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

  • 我检查的每 YYY 毫秒(在同一显示器上)是否存在另一个尺寸等于屏幕尺寸的最顶层窗口。
  • 如果是这样:使我的窗口非最顶层,否则使其成为最顶层。

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

我可以处理任何 WM_

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

问题:

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

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

4

1 回答 1

1

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

于 2013-03-05T00:31:00.837 回答