我有一个闭源第三方Windows软件,它只包含一个窗口,几乎一直都是最小化的。我希望能够通过系统范围的热键在该窗口中更改组合框的选定项目。如果可能的话,我希望在此过程中尽量减少第三方应用程序。
我想这应该很容易用Autoit或Autohotkey,但我以前从未使用过这些工具。
哪种工具更适合这项工作?有没有人有任何指示从哪里开始?例如,指向显示类似场景的教程的链接。
答案 0 :(得分:3)
我给你写了一个小例子,告诉你如何做到这一点。出于某种原因,我使用了我在代码中构建的GUI。我将看到另外一个例子,它操纵了一个不是在脚本中创建的GUI。
AutoIt Code ...
HotKeySet("{ESC}", "_Exit")
HotKeySet("^{z}", "_SetItem1")
HotKeySet("^{x}", "_SetItem2")
HotKeySet("^{c}", "_SetItem3")
;Set up a quick GUI for us to play with.
$gui = GUICreate("Test GUI", 150, 150, -1, -1)
GUICtrlCreateCombo("", 10, 50, 130)
GUICtrlSetData(-1, "Item1|Item2|Item3", "Item1")
GUISetState(@SW_SHOW)
While 1
; Just to keep things running
WEnd
Func _SetItem1()
ControlSend ( "Test GUI", "", "ComboBox1", "{up}{up}{up}" )
EndFunc ;==>_SetItem1
Func _SetItem2()
ControlSend ( "Test GUI", "", "ComboBox1", "{up}{up}{up}{down}" )
EndFunc ;==>_SetItem1
Func _SetItem3()
ControlSend ( "Test GUI", "", "ComboBox1", "{up}{up}{up}{down}{down}" )
EndFunc ;==>_SetItem1
Func _Exit()
Exit
EndFunc ;==>_Exit