我正尝试在Metro模式下访问Google Chrome的UI控件以获取当前的网址。
我使用了“Inspector”工具(C:\ Program Files(x86)\ Windows Kits \ 8.0 \ bin \ x86 \ inspect.exe)来获取桌面模式下的Chrome的HWND。它工作正常,但当我尝试在Metro模式下访问Chrome时,它只显示一个没有子窗口的全局HWND。
对于桌面模式下的Google Chrome,我使用UI自动化框架来获取网址:
您可以帮助在Chrome的Metro模式下访问UI控件吗?
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;