1
private string GetCurrentChromeUrl()
    {
        try
        {
            string url = null;

            int handle = GetForegroundWindow();
            AutomationElement elm = AutomationElement.FromHandle((IntPtr)handle);
            AutomationElement elmUrlBar = elm.FindFirst(TreeScope.Descendants,
                  new PropertyCondition(AutomationElement.NameProperty, "Address and search bar"));
            if (elmUrlBar != null)
            {
                AutomationPattern[] patterns = elmUrlBar.GetSupportedPatterns();
                if (patterns.Length > 0)
                {
                    ValuePattern val = (ValuePattern)elmUrlBar.GetCurrentPattern(patterns[0]);
                    url = val.Current.Value;
                    //break;
                }
            }
            return url;
        }
        catch (Exception e1)
        {
            return "";
        }
   }

我正在尝试从 google chrome 浏览器中查找 URL。

我正在使用上面的代码。它在其他应用程序中效果很好,但在我的情况下它会停止我的应用程序。

但主要问题是我调试它时它会正常工作,所以不调试时会出现什么问题。

请给出你的解决方案。

提前谢谢

4

1 回答 1

1

我正在经历这个,它是 intptr 类型的原因,它取决于机器的构建,有时窗口句柄对于 32 位机器的 intptr 来说太大了。

于 2018-11-09T17:11:04.967 回答