参照の追加
以下の参照を追加することによりUIAutomstionが使用可能になります。
UIAutomationClient
UIAutomationTypes
ウインドウのハンドルからプログラムのAutomationElementを取得する
Win32 API ウィンドウ関数のFindWindowを使いプログラム名からハンドルを取得し、その取得したハンドルからプログラムのAutomationElementを取得します。
// Win32 API ウィンドウの関数を使用 IntPtr hWnd = FindWindow(null, "Google - Mozilla Firefox"); if (hWnd == IntPtr.Zero) throw new Exception("Error"); AutomationElement element = AutomationElement.FromHandle(hWnd);
AutomationIdからelementを取得する
見つけたいelementのAutomationIdをpanel1、親AutomationElementをelementとする
PropertyCondition condition = new PropertyCondition(AutomationElement.AutomationIdProperty, "panel1"); AutomationElement getElement = element.FindFirst(TreeScope.Element | TreeScope.Descendants, condition); if (getElement== null) throw new Exception("Error");