1

我正在尝试在 Metro 模式下访问 Google Chrome 的 UI 控件以获取当前 URL。

我使用“Inspector”工具(C:\Program Files (x86)\Windows Kits\8.0\bin\x86\inspect.exe)在桌面模式下获取 Chrome 的 HWND。它工作正常,但是当我尝试在 Metro 模式下访问 Chrome 时,它​​只显示一个没有子窗口的全局 HWND。

对于桌面模式下的 Google Chrome,我使用 UI 自动化框架来获取 URL:

        var element = AutomationElement.FromHandle(hWnd);

        if (element == null)
            return PageInfo.Empty;

        var addressBar = element.FindFirst(TreeScope.Descendants,
            new AndCondition(new PropertyCondition(AutomationElement.NameProperty, "Address and search bar"),
                new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Edit)));

        if (addressBar == null)
            return PageInfo.Empty;

        var url = ((ValuePattern)addressBar.GetCurrentPattern(ValuePattern.Pattern)).Current.Value;

您能否帮助在 Chrome 的 Metro 模式下访问 UI 控件?

4

0 回答 0