.NET编程在ActiveX控件中找到文本框,修改其文本并提交
-
02-10-2019 - |
题
我有一个带有工具栏的ActiveX控件(Adobe PDF读取器)。该控件不会公开通过工具栏(主要是搜索功能)可用的一些功能。我正在寻找一种在工具栏上编程找到搜索字段的方法,输入文本并调用搜索(相当于在此字段中按Enter)。什么是最准确的方法?找到了基于System.Windows.Automation名称空间的解决方案,但无法使其正常工作。
谢谢。
这是我尝试的代码:
Dim pdfElement As AutomationElement = AutomationElement.FromHandle(AxAcroPDF1.Handle)
Dim condition As New AndCondition(New OrCondition(New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Edit), New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document), New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Text)), New PropertyCondition(AutomationElement.IsTextPatternAvailableProperty, True))
Dim ac As AutomationElementCollection = pdfElement.FindAll(TreeScope.Descendants, condition)
For Each element As AutomationElement In ac
If element.Current.Name = "Find" Then
element.SetFocus()
SendKeys.Send("TESTSEARCH")
End If
Next
解决方案
与您以前的问题相同的答案。零售自动化接口具有FindText()方法。我已经给了您API文档的链接。
不隶属于 StackOverflow