我有一个带有工具栏的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文档的链接。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top