我用 c# (winforms) 编写的应用程序使用 Process.start() 启动第三方。
启动后,我需要在第三方应用的搜索文本框中填写一些信息。那么如何识别第三方应用的文本框呢?如何填写信息?
有什么线索或指导吗?要搜索的关键字?
您可以使用UI 自动化库来执行此操作。
使用Inspect.exe的UISPY.exe找到automationid 、 name 等任何可以唯一标识文本框的参数。假设您知道自动化 ID,您已经这样做了,您可以执行类似的操作。
string automationId = "ThirdyPartBox";
string newTextBoxValue = "foobar";
var condition = new PropertyCondition(AutomationElement.AutomationIdProperty, automationId);
var textBox = AutomationElement.RootElement.FindFirst(TreeScope.SubTree , condition);
ValuePattern vPattern = (ValuePattern)textBox.GetCurrentPattern(ValuePattern.Pattern);
vPattern.SetValue(newTextBoxValue);
也许文本框本身不是唯一可识别的,您可以使用进程 ID、父容器 ID 等条件来定位它。
单击按钮。首先使用您选择的条件查找自动化元素,然后
InvokePattern clickButton = (InvokePattern)buttonElement.GetCurrentPattern(InvokePattern.Pattern);
clickButton.Invoke();