由于UWP应用程序在全屏模式下会启用Windows的“最小化窗口”特性,因此无法像传统窗口一样使用AutomationElement寻找该应用程序的元素。要解决这个问题,可以使用Windows UI Library中的FullscreenOverlay窗口。以下是一些示例代码:
using System.Windows.Automation;
using Windows.UI.ViewManagement;
public void FindUwpFullscreenWindow()
{
var view = ApplicationView.GetForCurrentView();
var fullscreenElement = AutomationElement.FromHandle(view.FullScreenSystemOverlayWindowHandle);
// 进一步定位元素
}
该方法使用FullscreenSystemOverlayWindowHandle属性获取UWP应用程序的全屏句柄,并将其传递给AutomationElement.FromHandle方法来获取AutomationElement,从而使其可用于定位应用程序中的元素。注意禁止在应用程序不处于全屏模式下时使用此方法,否则会抛出异常。