GetKeyState Status ermitteln Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

UnReALiTyy
Posts: 223
Joined: 06 Jun 2017, 11:38

GetKeyState Status ermitteln

22 Aug 2017, 10:01

Code: Select all

e::
	BlockInput MouseMove
		CoordMode, Mouse
			MouseGetPos xpos, ypos
			Click 39, 117
		MouseMove xpos, ypos
	BlockInput MouseMoveOff
return
Hallo, ich nutze mein Skript oben um ein Fenster im Spiel per Hotkeys "e" zu klicken, wenn ich während dessen aber im Spiel die "linke maus taste" gedrückt halte bewegt sich meine spielfigur in diese richtung um dies zu unterbinden wollte ich das skript so ändern das er den status der "linken maus taste" ermittelt. Ich bin aber per
GetKeyState, Status, LButton, P
gescheitert! Vielleicht kommt ihr damit besser klar?

Ich habe es mir so vorgestellt das wenn ich "e" drücke soll immer mein skript ausgeführt werden so wie jetzt auch aber wenn ich während dessen "LButton" gehalten wird soll Send {LButton Up} gesendet werden und sobald der skript fertig ausgeführt wurde wieder Send {LButton Down}.
Rohwedder
Posts: 7630
Joined: 04 Jun 2014, 08:33
Location: Germany

Re: GetKeyState Status ermitteln  Topic is solved

22 Aug 2017, 12:24

Hallo,
versuchs mal damit:

Code: Select all

~LButton & e::
	Send {LButton Up}
e::
	BlockInput MouseMove
	CoordMode, Mouse
	MouseGetPos xpos, ypos
	Click 39, 117
	MouseMove xpos, ypos
	BlockInput MouseMoveOff
	IF A_Thishotkey <> e
		Send {LButton Down}
Return
UnReALiTyy
Posts: 223
Joined: 06 Jun 2017, 11:38

Re: GetKeyState Status ermitteln

23 Aug 2017, 05:21

Rohwedder wrote: IF A_Thishotkey <> e
Send {LButton Down}
danke für deine antwort, was bewirkt das ende deinen skriptes wenn ich fragen darf?
Rohwedder
Posts: 7630
Joined: 04 Jun 2014, 08:33
Location: Germany

Re: GetKeyState Status ermitteln

23 Aug 2017, 06:12

Wenn der Hotkey "~LButton & e" ausgeführt wurde, also nicht der Hotkey "e", wird der LButton zuerst (logisch) losgelassen und mit dieser Abfrage am Ende wieder (logisch) gedrückt. Ob deine Anwendung dies akzeptiert, kann ich nicht sagen. Physikalisch loslassen und drücken kann AutoHotkey nun mal nicht.
UnReALiTyy
Posts: 223
Joined: 06 Jun 2017, 11:38

Re: GetKeyState Status ermitteln

23 Aug 2017, 06:18

das hatte ich soweit schon verstanden nur ich wusste nicht was "IF A_Thishotkey <> e" bewirkt.
UnReALiTyy
Posts: 223
Joined: 06 Jun 2017, 11:38

Re: GetKeyState Status ermitteln

24 Aug 2017, 05:24

Rohwedder wrote:Wenn der Hotkey "~LButton & e" ausgeführt wurde, also nicht der Hotkey "e", wird der LButton zuerst (logisch) losgelassen und mit dieser Abfrage am Ende wieder (logisch) gedrückt. Ob deine Anwendung dies akzeptiert, kann ich nicht sagen. Physikalisch loslassen und drücken kann AutoHotkey nun mal nicht.
Also es funktioniert tatsächlich danke dafür aber müsste es jetzt nicht so sein das jedes mal wenn ich "e" drücke am ende ein "LButton Down" gesendet wird?
Wegen dem hier!?
IF A_Thishotkey <> e
Send {LButton Down}
Return
Rohwedder
Posts: 7630
Joined: 04 Jun 2014, 08:33
Location: Germany

Re: GetKeyState Status ermitteln

24 Aug 2017, 10:52

Nein, nur wenn du die Kombination "e" und "LButton" gedrückt hast, also der Thread mit dem Hotkey "~LButton & e" begann.
In diesem Fall steht in A_Thishotkey die Zeichenkette "~LButton & e" welche ungleich der Zeichenkette "e" ist.
Wenn du A_Thishotkey trumpig findest, wie wärs damit?

Code: Select all

~LButton & e::
	Send {LButton Up}
	Gosub, e
	Send {LButton Down}
Return

e::
	BlockInput MouseMove
	CoordMode, Mouse
	MouseGetPos xpos, ypos
	Click 39, 117
	MouseMove xpos, ypos
	BlockInput MouseMoveOff
Return
UnReALiTyy
Posts: 223
Joined: 06 Jun 2017, 11:38

Re: GetKeyState Status ermitteln

24 Aug 2017, 15:03

Rohwedder wrote:Nein, nur wenn du die Kombination "e" und "LButton" gedrückt hast, also der Thread mit dem Hotkey "~LButton & e" begann.
In diesem Fall steht in A_Thishotkey die Zeichenkette "~LButton & e" welche ungleich der Zeichenkette "e" ist.
Wenn du A_Thishotkey trumpig findest, wie wärs damit?

Code: Select all

~LButton & e::
	Send {LButton Up}
	Gosub, e
	Send {LButton Down}
Return

e::
	BlockInput MouseMove
	CoordMode, Mouse
	MouseGetPos xpos, ypos
	Click 39, 117
	MouseMove xpos, ypos
	BlockInput MouseMoveOff
Return
Ah verstehe danke und nein passt so danke nochmal vielen dank! :dance:

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 108 guests