认为这将是一件容易的事情,但事实证明它远非如此。 Spy ++不生成控件ID(仅显示主窗口),每个控件都有一个名称。示例(Button - >“AddButton”) 我试过使用调用的方法,如SendMessage,并且我得到主窗口句柄就好了,但试图获取控制句柄时总是得到0。点击另一个应用程序的WPF按钮
我听说过UI自动化库,但没有找到任何明确的例子用于我的具体任务。
我的目标:能检索数据(如数据网格单元文本),并从另一个应用程序点击一个WPF应用程序按钮,远程(我将使用C#)
提前感谢!
编辑:我已经试过Ranorex间谍,并能点击控制得很好: 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();
你想从哪个应用程序获取数据? –
只是一些WPF应用程序,我需要给出具体的应用程序名称吗? – TricksterJoe
你的帖子没有多大意义?为什么你有两个wpf应用程序,你为什么要共享它们之间的数据和事件? –