0

我有一个带有工具栏的 ActiveX 控件(Adobe PDF Reader)。该控件不公开一些通过工具栏可用的功能(主要是搜索功能)。我正在寻找一种以编程方式在工具栏上定位搜索字段、输入文本并调用搜索的方法(相当于在此字段中按 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
4

1 回答 1

1

与您上一个问题的答案相同。零售自动化接口具有 FindText() 方法。我已经为您提供了 API 文档的链接。

于 2010-08-29T13:35:32.493 回答