通过热键更改最小化第三方应用程序的组合框值

问题描述:

我有一块封闭的第三方Windows软件,它只包含一个窗口,几乎所有时间都被最小化。我希望能够通过系统范围的热键在该窗口中更改组合框的选定项目。如果可能的话,我希望在此过程中尽量减少第三方应用程序。通过热键更改最小化第三方应用程序的组合框值

我想这应该很容易做到与Autoit或Autohotkey,但我从来没有使用过这些工具之前。

哪种工具更适合这项工作?有没有人有从哪里开始的指针?例如指向类似场景的教程链接。

我给你写了一个如何做到这一点的小例子。出于某种原因,我使用了代码构建的GUI。我将看到关于将另一个示例用于操作未在脚本中创建的GUI。

AutoIt的代码......

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