如何使用UIAutomation验证窗口是否是最顶层的窗口?

时间:2012-05-24 13:32:52

标签: ui-automation foreground topmost

我在许多论坛中搜索过解决方案,但是他们都告诉我,如果窗口位于顶部,则使用WindowPattern并检查最顶层的值应该返回true。但是,对我来说情况并非如此。我正在测试一个位于outlok中的选项卡中的应用程序。然后,用户可以在应用程序中单击并打开一个新窗口。我想验证此窗口是否在前台。另外..这是一个WPF应用程序,所以我不能为打开的新窗口抓取单独的句柄。

感谢

1 个答案:

答案 0 :(得分:0)

这可能是一个术语问题:'Topmost'在Win32(See description of WS_EX_TOPMOST here)中有特殊含义,它基本上意味着“漂浮在其他普通窗口之上” - 它通常用于工具提示,菜单弹出窗口,通知等气球等,漂浮在屏幕上的所有其他窗口之上。实际的应用程序窗口很少。

应用程序可以是当前前景窗口,高于其他窗口,但不具有此属性。

查看窗口是否位于前台的另一种方法是查看窗口是否包含当前焦点或活动窗口。