1

我正在尝试将 ControlCommands 与.NET应用程序一起使用(因此,这些都应该是标准的 Microsoft 控件),但大多数感兴趣的控件似乎没有做任何事情。

我目前正在查看一个组合框(下拉框)。我使用“showdropdown”命令将其下拉,并且成功运行。

然后我尝试使用“SelectString”,但它没有转到我指定的字符串。“SelectString”ControlCommand 选项如何工作?

我也试过“SetCurrentSelection”。

这是我使用的语句:

ControlCommand($windowName, "", "[Name:myComboBox]", "SelectString", "a")

我也尝试过先搜索它:

ControlCommand($windowName, "", "[Name:myComboBox]", "FindString", "a")

但它也没有找到。奇怪的是,单个字符“a”就在那里。

如果有帮助,这是控件类:WindowsForms10.COMBOBOX

4

2 回答 2

3

_GUICtrlComboBox_xxx函数也适用于外部控件。例如,_GUICtrlComboBox_FindString_GUICtrlComboBox_SelectString_GUICtrlComboBox_SetCurSel。试试那些。

先调用ControlGetHandle,再用这个句柄调用上面的函数。

记得包含GuiComboBox库,否则会收到错误消息“错误:未知函数名”:

#include <GuiComboBox.au3>
于 2011-04-18T14:49:38.143 回答
0

您可以将按键发送到此控件,如下所示

ControlSend("Window title", "", "[NAME:comboBoxName]", "ComboBox value")

它之所以有效,是因为 ComboBox 将输入解释为搜索字符串并选择以该字符串开头的第一项。

注意:因为它会在您键入时搜索匹配项,所以不需要发送完整的值,只需发送最短的子字符串。

于 2019-09-14T09:44:18.223 回答