有没有办法找出Metro UI面板在Windows 10中是否可见?

时间:2016-08-23 14:25:29

标签: winapi windows-10 windows-10-universal

在Windows 10中,可以从任务栏打开多个菜单/面板,例如"操作中心"和"音量面板"如果我尝试使用EnumWindows(),我会找到一个解决方法 - 而不是使用EnumWindows(),我使用了FinWindowEx(),现在我能够枚举这些面板和其他Metro UI特定菜单。

唯一的问题是我无法确定它们是否可见。如果我尝试拨打IsWindowVisible()并通过"行动中心" HWND作为参数,函数始终返回TRUE。我为其他Metro UI面板(电池使用面板,音量面板,搜索面板等)获得了相同的结果。

1 个答案:

答案 0 :(得分:4)

我刚刚找到了解决方案。由于到目前为止还没有答案,我认为这是一个最好的解决方案(目前我还不知道解决问题的其他方法)。

所以基本上为了确定窗口是否可见,我调用DwmGetWindowAttribute()函数(除IsWindowVisible()之外)传递DWMA_CLOAKED作为第二个参数。当屏幕上显示那些特定于Windows 10的面板时,此属性设置为0