我在许多论坛中搜索过解决方案,但他们都告诉我,如果窗口在顶部,则使用 WindowPattern 并检查最上面的值应该返回 true。然而,这对我来说不是这样。我正在测试一个位于 outlok 选项卡中的应用程序。然后,用户可以在应用程序中单击并打开一个新窗口。我想验证这个窗口是否在前台。另外..这是一个 WPF 应用程序,因此我无法为打开的新窗口获取单独的句柄。
谢谢
我在许多论坛中搜索过解决方案,但他们都告诉我,如果窗口在顶部,则使用 WindowPattern 并检查最上面的值应该返回 true。然而,这对我来说不是这样。我正在测试一个位于 outlok 选项卡中的应用程序。然后,用户可以在应用程序中单击并打开一个新窗口。我想验证这个窗口是否在前台。另外..这是一个 WPF 应用程序,因此我无法为打开的新窗口获取单独的句柄。
谢谢
这可能是一个术语问题:'Topmost' 在 Win32 中具有特殊含义(参见此处对 WS_EX_TOPMOST 的描述),其基本意思是“浮动在其他普通窗口之上”——它通常用于工具提示、菜单弹出窗口、通知气球和像,它漂浮在屏幕上的所有其他窗口之上。它很少通过实际的应用程序窗口。
一个应用程序可以是当前前台窗口,位于其他窗口之上,但不具有此属性。
查看窗口是否在前台的另一种方法是查看它是否包含当前焦点或活动窗口。