Cambiando valore combobox di applicazione di terzi minimizzata tramite hotkey [chiuso]

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

  •  19-09-2019
  •  | 
  •  

Domanda

Ho un pezzo di closed-source software Windows di terze parti che si compone di una sola finestra ed è ridotto al minimo quasi tutto il tempo. Mi piacerebbe essere in grado di cambiare l'elemento selezionato di una casella combinata in quella finestra tramite un tasto di scelta rapida a livello di sistema. Se possibile, mi piacerebbe mantenere l'app di terzi minimizzato nel processo.

Credo che questo dovrebbe essere facile da fare con Autoit o Autohotkey, ma non ho mai usato uno di questi strumenti prima.

Quale strumento sarebbe più adatto per il lavoro? Qualcuno ha qualche indicazioni su dove cominciare? Per esempio un link ad un tutorial che mostra uno scenario simile.

È stato utile?

Soluzione

Ti ho scritto un piccolo esempio di come si potrebbe fare questo. Per qualche motivo ho usato una GUI costruisco nel codice. Vedrò di mettere un altro esempio in che manipola una GUI non ha creato nello script.

Codice 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top