1

現在の URL を取得するために、Metro モードで Google Chrome の UI コントロールにアクセスしようとしています。

「インスペクター」ツール (C:\Program Files (x86)\Windows Kits\8.0\bin\x86\inspect.exe) を使用して、デスクトップ モードで Chrome の HWND を取得しました。正常に動作しますが、Metro モードで Chrome にアクセスしようとすると、子ウィンドウのないグローバル HWND が 1 つだけ表示されます。

デスクトップ モードの 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