Alterando o valor de combitox do aplicativo minimizado de terceiros via Hotkey [fechado

StackOverflow https://stackoverflow.com/questions/1908268

  •  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.

Foi útil?

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top