none
C# Edge Url 주소를 얻어오기 위해서 AutomationElement 를 사용합니다.

    질문

  • C# Edge Url 주소를 얻어오기 위해서 AutomationElement 를 사용합니다. 

    허나 FindFirst 함수의 리턴값이 계속해서 null 을 반환하여 얻어오지 못합니다.

    도와주세요.

                    

    public static string GetEdgeUrl(Process process)
            {
                try
                {

                    if (process == null)
                        throw new ArgumentNullException("process");

                    if (process.MainWindowHandle == IntPtr.Zero)
                        return null;

                    AutomationElement element = AutomationElement.FromHandle(process.MainWindowHandle);
                    if (element == null)
                        return null;

                    string nameProperty = "Search or enter web address";

                    AutomationElement elmUrlBar = element.FindFirst(TreeScope.Subtree,
                    new AndCondition(new PropertyCondition(AutomationElement.NameProperty, nameProperty,                   PropertyConditionFlags.IgnoreCase),
                    new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Edit)));



                    if (elmUrlBar != null)
                        return ((ValuePattern)elmUrlBar.GetCurrentPattern(ValuePattern.Pattern)).Current.Value as string;


                }


    2019년 4월 12일 금요일 오전 9:15