
Um das Display auszuschalten, nutze ich diese beiden Tastenkombinationen:
Launch_Mail::
#T:: SendMessage, 0x112, 0xF170, 2,, Program Manager
Allerdings kommt es nicht selten vor, dass sich das Display sofort wieder einschaltet, nachdem ich diesen Hotkey verwendet habe. Ich drücke ihn vier bis sieben Mal erneut und es schaltet sich wieder ein. Dann stelle ich die Maus ein wenig ein und versuche, es auszuschalten. Manchmal funktioniert es und manchmal nicht.
Wenn ich die Schaltfläche „Launch_Mail“ verwende, um das Display auszuschalten, dies aber nicht funktioniert, verwende ich die Tastenkombination „#T“. Meistens funktioniert das, aber manchmal funktioniert es auch nicht.
Liegt das Problem an der Maus oder an etwas anderem? Sollte ich beim Ausschalten des Displays auch die Maus deaktivieren?
Ich habe versucht, nach diesem Problem zu suchen, konnte aber nichts finden, das meiner Situation ähnelte.
Ich weiß nicht, ob das sehr relevant ist, aber ich verwende Windows 8.1 und AHK v1.1.22.06
Antwort1
Da es so aussieht, als würden Sie das Skript von hier verwenden:https://autohotkey.com/docs/commands/PostMessage.htmwelches den folgenden Code bereitstellt:
#o:: ; Win+O hotkey that turns off the monitor.
Sleep 1000 ; Give user a chance to release keys (in case their release would wake up the monitor again).
; Turn Monitor Off:
SendMessage, 0x112, 0xF170, 2,, Program Manager ; 0x112 is WM_SYSCOMMAND, 0xF170 is SC_MONITORPOWER.
; Note for the above: Use -1 in place of 2 to turn the monitor on.
; Use 1 in place of 2 to activate the monitor's low-power mode.
return
Ich muss fragen: Verwenden Sie das vollständige Skript oder nur diese eine Zeile? Gemäß den Kommentaren sollte -1 den Monitor wieder einschalten, was darauf schließen lässt, dass Ihr Skript die Befehle „Ein“ und „Aus“ möglicherweise direkt hintereinander ausführt.
Antwort2
Wahrscheinlich schaltet das Loslassen der Hotkeys das Display wieder ein. Dies kann entweder durch ein „Timeout“ gelöst werden, wie in David Metcalfes Antwort, oder indem man einfach wartet, bis der Hotkey losgelassen wird, und erst dann das Display ausschaltet. Die idiomatische Art, dies zu tun, ist die Verwendung des up
Modifikators (sieheDokumentation).
Launch_Mail Up::
#T Up:: SendMessage, 0x112, 0xF170, 2,, Program Manager
Antwort3
Damit warten Sie, bis Ihre Schlüssel freigegeben werden. Ersetzen Sie sie einfach durch die gewünschten Schlüssel. Hier verwende ich Alt+ Space:
!Space::
KeyWait Alt
KeyWait Space
SendMessage,0x112,0xF170,2,,Program Manager
Return