2017-06-14 1 views
2

en essayant de faire une boucle à bascule, semble ne pas envoyer e du tout, aide s'il vous plaît?AHK, ne fonctionne pas comme prévu

myvar := false 
k:: 
myvar := true ? false : true 
return 
while (myvar) 
{ 
Send, e 
Sleep 100 
} 
+0

soit clair, le behavoir je suis en train de créer est; ne rien faire, k est pressé, envoyer à plusieurs reprises e jusqu'à ce que k est pressé à nouveau. –

+0

Vérifiez votre opérateur de ternery. –

+0

voir la modification ci-dessous. – ChickenFeet

Répondre

-1

Vous pouvez attribuer une autre touche pour une pause/reprise. Dans ce cas, k bascule et F12 s'exécute indéfiniment (utilisez simplement k pour basculer).

k:: 
Hotkey, F12, toggle 
return 

F12:: 
while(true) 
{ 
    Send, e 
    Sleep 100 
} 

pouvez également essayer Loop au lieu de while(true)

k:: 
pause, toggle 

F12:: 
Loop, 
{ 
    Send e 
    Sleep, 100 
} 
return 

référencé à partir AutoHotkey forum.

1

Voici ma suggestion:

k::SetTimer, SendLetterE, % (Toggle:=!Toggle) ? 100 : "Off" 

SendLetterE() { 
    Send, e 
} 
+0

Meilleure réponse que celle sélectionnée. Cela aurait certainement dû être la réponse acceptée. C'est propre et fait en 4 lignes. L'autre est un peu plus bâclé, utilise des commandes inutiles, utilise 2 touches de raccourci et une réponse suggère d'utiliser "pause" comme le début/l'arrêt. Pas le meilleur choix. : - / – GroggyOtter