UIAutomtion中主要用AutomationElement 类来 表示 UI 自动化目录树中的一个 UI 自动化元素,并包含由 UI 自动化客户端应用程序用作标识符的值。
添加UIAutomation
在reference中添加UIAutomationClient,UIAutomationTypes,UIAutomationProvider 和UIAutomationClientsideProviders。
(Donet 3.0以上的项目中才有)
如何识别一个窗口。
先启动calc.exe.
- using System.Diagnostics;
- using System.Windows.Automation;
- ...
- void GetCalc()
- {
- //通过Process的Handle获得AutomationElement
- Process[] p = Process.GetProcessesByName("calc");
- AutomationElement CalcWindows = AutomationElement.FromHandle(p[0].MainWindowHandle);
- }
还有一种方法
- using System.Windows.Automation;
- ...
- void GetCalc()
- {
- //先识别桌面,再在桌面中查找Window类型且名字叫"Calculator"(英文系统)
- AutomationElement RootElement=AutomationElement.RootElement;
- AutomationElement CalcWindows=RootElement.FindFirst(TreeScope.Children,
- new AndCondition(
- new PropertyCondition(AutomationElement.ControlTypeProperty,ControlType.Window),
- new PropertyCondition(AutomationElement.NameProperty,"Calculator")
- ));
转载来源:http://blog.csdn.net/vbic0673/article/details/6089375