认为这将是一件容易的事,但事实证明它远非如此。 Spy ++不生成控件ID(仅显示主窗口),每个控件都有一个名称。实施例(按钮 - > “中Add按钮”) 我尝试过使用SendMessage这样的调用方法,并且我得到了主窗口句柄,但在尝试获取控制句柄时总是得到0。
我听说过UI自动化库,但没有找到任何明确的用于我的特定任务的示例。
我的目标:能够从另一个应用程序(我将使用C#)远程检索数据(例如数据网格单元文本),并单击WPF应用程序上的按钮
提前致谢!
编辑:我尝试过Ranorex Spy并且能够点击控件就好了: Press button from Ranorex我如何模拟它?
编辑2: 我在进一步阅读一些文件后设法做到了,希望它能帮助其他人:
string mainTitle = "";
string controlName = "";
AutomationElement prog = AutomationElement.RootElement.FindFirst(TreeScope.Children,
new PropertyCondition(AutomationElement.NameProperty, mainTitle));
AutomationElement btn = prog.FindFirst(TreeScope.Descendants,
new PropertyCondition(AutomationElement.AutomationIdProperty, controlName));
InvokePattern clickBtn = (InvokePattern) btn.GetCurrentPattern(InvokePattern.Pattern);
clickBtn.Invoke();