AutoIt v3中的ControlCommand

时间:2011-04-18 14:11:44

标签: autoit

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

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

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

我也试过“SetCurrentSelection”。

这是我用过的陈述:

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

我还尝试首先搜索它:

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

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

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

2 个答案:

答案 0 :(得分:2)

_GUICtrlComboBox_xxx函数也适用于外部控件。例如,_GUICtrlComboBox_FindString,_GUICtrlComboBox_SelectString,_GUICtrlComboBox_SetCurSel。试试这些。

请记住添加以下行。否则,您将收到一个错误消息框,其中包含“错误:未知函数名称。”。

#include <GuiComboBox.au3>

答案 1 :(得分:0)

您可以将按键发送到此控件like this

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

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

  

注意:由于它会在您键入时搜索匹配项,因此无需发送完整值,只需发送最短的子字符串即可。