Autohotkey Variable als Parameter

Guten Tag,

Ich erstelle gerade ein script und möchte die funktion setkeydelay einbauen.
SetKeyDelay [, Delay, PressDuration, Play]
Es geht mir dabei um die Pressduration. Wenn ich schreibe SetKeyDelay 0, 100 dann wird die taste 100ms lang gedrückt. Das ist kein Problem. Anstatt der 100 soll dort aber eine Variable stehen und das bringt mich zum verzweifeln.
Ich dachte die Lösung wär einfach nur SetKeyDelay 0, %var% aber das geht nicht.

Bitte um Hilfe

Hallo,

das stimmt schon, dass man Variablen verwenden kann! Allerdings hast du in deinen Beispielen ein Komma vergessen:

SetKeyDelay 0, 100 dann wird die taste 100ms lang gedrückt.
Das ist kein Problem. Anstatt der 100 soll dort aber eine
Variable stehen und das bringt mich zum verzweifeln.
Ich dachte die Lösung wär einfach nur
SetKeyDelay 0, %var%

Es sollte also in deinem Fall folgendermassen funktionieren:
; 100 Millisekunden
var=100
SetKeyDelay,0,%var%

; weiteres Beispiel:
keydelay=10
pressduration=800
SetKeyDelay,%keydelay%,%pressduration%

Es könnte auch sein, dass du beim Setzen der Variable „var“ schon einen Fehler machst. Wird der Wert in der Variable erkannt?
MsgBox,0,test duration var,duration: %var%

Wenn du weiterhin verzweifelt bist, solltest du schon mitteilen, was denn nun geschieht! Bekommst du eine Fehlermeldung?

Gruß Willi

Hallo Grinsk3ks
Im endeffekt ist das SetKeyDelay 0, %var% richtig.
jedoch musst du der Variablen erst einen Wert zuweisen.

Das machst du zum beispiel so:

var := 100
SetKeyDelay 0, %var%

Demnach steht jetzt bei %var%, 100 !

Lg

Hallo,

danke es klappt wenn ich erst die variable zuweise.
Ich wollte als Variable eigentlich %clipboard% nehmen aber das geht iwie nicht. Bei MessageBox gehts problemlos mit %clipboard%
Ich wurschtel mir das dann neu zurecht.
Danke

Hallo,

danke es klappt wenn ich erst die variable zuweise.
Ich wollte als Variable eigentlich %clipboard% nehmen aber das geht iwie nicht. Bei MessageBox gehts problemlos mit %clipboard%
Ich wurschtel mir das dann neu zurecht.
Danke.

Hallo (du?), wurschteln gilt nicht! Das hilft hier in diesem Forum dem Benutzer „Niemand“ :wink:

Ich wollte als Variable eigentlich %clipboard% nehmen

Dann versuch doch:
var=%clipboard%

PS: wenn es dann doch mal funktioniert, bitte um Info, wie die Lösung aussieht!
Vielen Dank,

Gruß Willi

Heho,
ich habs jetzt so gemacht und es funktioniert.


8::
if ()
{}
V++
return

0::v:=0
return

9::MsgBox %v%
return

XButton1::
setkeydelay ,0,%v%
Send a
Send d
Send {click}
return

Mein eigentliches ziel hab ich technisch (script läuft) erreicht aber das Ziel hab ich nicht ganz erreicht ^^

Ziel war es für das game cod4 ein g-shot makro zu machen und dafür dachte ich mir ich muss die ms bestimmen. Im Endeffekt funzt es nicht wirklich. Ich hab aber die Vermutung, dass es daran liegt, dass ich keinen stabilen fps wert hab.