Dans Autohotkey, je sais que vous pouvez utiliser "KeyWait" pour attendre qu'une touche soit enfoncée ou relâchée, mais que puis-je faire si je veux pouvoir attendre qu'une des deux touches soit relâchée?
J'ai trouvé ceci sur le Web, mais c'est quand vous voulez attendre que l'on appuie sur l'une des deux touches
LButton & XButton1::
Keywait, r
Keywait, LAlt
SendInput {ShiftDown}
SendInput {v Down}
SendInput {v Up}
SendInput {Shift Up}
Input, UserInput,v,{LButton}{XButton1}
;v is if you want input to be visible
if ErrorLevel=EndKey:LButton
{
theFunctionIrunAlltheTime()
Return
}
else if ErrorLevel=EndKey:XButton1
{
theFunctionIrunAlltheTime()
Return
}
Peu importe lequel de ces boutons est celui que je souhaite utiliser, je pense que l'exemple ci-dessus ne fonctionne qu'avec des lettres, pas avec des boutons, mais l'important est que lorsque vous exécutez le script, LButton n XButton1 est déjà enfoncé. et je veux au milieu du sous-programme pour détecter quand l'un d'entre eux est publié, une idée s'il vous plaît ??? merci adavanced.
autohotkey
litu16
la source
la source
Essayez d'ajouter KeyWait au code ci-dessus:
la source
LButton
ouXButton1
être libéré, le problème est qu'au moment où leInput
la ligne est atteinte, à la foisLButton
etXButton1
sont déjà maintenus, donc je voudrais attendre qu'ils soient libérés, seulement libérés, pas pressés à nouveau n libérés. Je ne peux plus les appuyer et les relâcher, car cela gâcherait le but des sous-routines de trous, parce que c'est un clic-glisser. Une idée s'il vous plaît? merci avancé.Input, UserInput,v,{b}{v} if ErrorLevel=EndKey:b
sans succès, aidez quelqu'un s'il vous plaît, merci avancé.la source
Vous pouvez également définir les 2 clés comme touches de raccourci contextuelles:
https://autohotkey.com/docs/commands/_If.htm
la source