我正在尝试将ControlCommands与.NET应用程序一起使用(因此,这些应该都是标准的Microsoft控件),但大多数感兴趣的应用程序似乎都没有做任何事情。
我目前正在看一个组合框(下拉框)。我使用“showdropdown”命令让它下拉,并且它成功运行。
然后我尝试使用“SelectString”,但它没有转到我指定的字符串。 “SelectString”ControlCommand选项如何工作?
我也试过“SetCurrentSelection”。
这是我用过的陈述:
ControlCommand($windowName, "", "[Name:myComboBox]", "SelectString", "a")
我还尝试首先搜索它:
ControlCommand($windowName, "", "[Name:myComboBox]", "FindString", "a")
但它也没有找到它。奇怪的是,单个字符“a”就在那里。
如果有帮助,这是控件类:WindowsForms10.COMBOBOX
答案 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将输入解释为搜索字符串,并选择以该字符串开头的第一项。
注意:由于它会在您键入时搜索匹配项,因此无需发送完整值,只需发送最短的子字符串即可。