Alterando o valor de combitox do aplicativo minimizado de terceiros via Hotkey [fechado
-
19-09-2019 - |
Pergunta
Eu tenho um pedaço de software Windows de terceiros de código fechado, que consiste em apenas uma janela e é minimizado quase o tempo todo. Eu gostaria de poder alterar o item selecionado de um ComboBox nessa janela através de uma tecla de atalho em todo o sistema. Se possível, gostaria de manter o aplicativo de terceiros minimizado no processo.
Eu acho que isso deve ser fácil de fazer com o Autoit ou o AutohotKey, mas nunca usei nenhuma dessas ferramentas antes.
Qual ferramenta seria mais adequada para o trabalho? Alguém tem alguma dica sobre por onde começar? Por exemplo, um link para um tutorial mostrando um cenário semelhante.
Solução
Eu escrevi um pequeno exemplo de como você poderia fazer isso. Por algum motivo, usei uma GUI que construo no código. Vou ver sobre colocar outro exemplo que manipula uma GUI não criada no script.
Código 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