Was hat Autohotkey gegen mich?

...komplette Frage anzeigen

2 Antworten

LButton ist die linke Maustaste.

D. h. linke Maustaste gedrückt halten und s tippen sollte funktionieren.

Strg+S ist ^s.

Wenn du nur die linke Strg-Taste haben willst, nimm LControl & s oder <^s.

Quelle: https://autohotkey.com/docs/KeyList.htm

Ja, das war meine Absicht. Linke Maustaste und S.

Aber dann wird nur ein s ausgegeben. Wenn ich "LButton & s" zum beispiel durch F1 ersetze und F1 drücke funktioniert der Hotkey aber wieder.

Ich verstehe diese Pannen nicht. Gestern habe ich stundenlang nach der Ursache für die Meldung "Returns parameter should be blank except inside a function" gesucht und am Ende lag es nur an dem Leerzeichen zwischen dem Funktionsnamen und der Klammer dahinter. Einfach frustrierend. Man baut x mal erfolglos das Skript um und stellt am Ende fest, dass der Interpreter die Leerzeichen mitzählt. Das habe ich noch in keiner anderen Programmiersprache erlebt.

0
@eddiepoole

Sorry, hab die Frage missverstanden.

Scheint ein Windows-Problem zu sein: solange eine Maustaste (zumindest die linke) gedrückt ist, reagiert die Tastatur nicht.

0
@eddiepoole

So geht's:

; das $-Zeichen verhindert, dass der Hotkey sich selbst auslöst
$s::
GetKeyState, lbtn, LButton
IfEqual, lbtn, D
{
KeyWait, LButton
Send, ^s
}
Else
{
Send, s
}
return
0
@eddiepoole

Sorry, das kann ich bei mir nicht nachvollziehen.

(Liegt vielleicht daran, dass das eine uralte XP-Maschine ist und nicht mehr die neueste AHK-Version)

0
@PWolff

Vielen Dank! Sieht sehr kompliziert aus. Funktioniert leider auch nicht. Ich frage mich langsam, ob das Anwendungspogramm die Signale abfängt...

0
@PWolff

Der Rechner ist keine vier Wochen alt und läuft mit Win7. Das Ahk hab ich mir erst vor einer Woche runtergeladen. Ich finde das gerade superfrustrierend, was dieses Programm für faxen macht.

0
@eddiepoole

Geht bei mir auch mit der neuesten AHK-Version (1.1.23.01), in Notepad.

Es könnte vielleicht helfen, wenn du das Anwendungsprogramm und das AHK-Skript in der umgekehrten Reihenfolge startest.

0
@PWolff

ich dachte es liegt vielleicht daran, dass ich notepad2 benutze. aber in word funktioniert das ganze auch nicht. das mit der umkehrung der startreihenfolge ist für mich keine lösung. ich gebe auf und benutz einfach strg+s, das ist sicherer.

danke für die mühe

0
@eddiepoole

Ich hab's noch mal ausprobiert:

Möglichkeit A (reagiert erst, nachdem der Mausbutton logelassen wurde):

$s::
GetKeyState, lmb, LButton
if lmb = D
{
KeyWait, LButton
Send, ^s
}
else
Send, s
return

Möglichkeit B (reagiert sofort, erfordert aber Kenntnis des genauen Namens des Menüs):

$s::
GetKeyState, lmb, LButton
if lmb = D
{
;WinMenuSelectItem, A, , File, Save
;WinMenuSelectItem, A, , Datei, Speichern unter...
WinMenuSelectItem, A, , Datei, Speichern
}
else
Send, s
return
0

wenn ich ~LButton & s

durch F7 ersetze und F7 drücke, funktioniert der Send-Befehl.


Was ist falsch am Ausdruck ~LButton & s?

Was möchtest Du wissen?