Achten Sie auf das Ereignis „Bildschirm aus“ und deaktivieren Sie die Maus in Windows

Achten Sie auf das Ereignis „Bildschirm aus“ und deaktivieren Sie die Maus in Windows

Ich möchte verhindern, dass die Maus meine Bildschirme aktiviert (während mein PC eingeschaltet ist, die Bildschirme jedoch ausgeschaltet sind oder der Bildschirmschoner aktiviert ist).

Ich habe alle Quellen gelesen, die mir genau sagen, warum es „nicht geht“, z. B.diese Frage. Oder diejenigen, die sagen, man solle die Maus ausstecken, die Maus umdrehen oder verhindern, dass die Maus den PC aus dem Ruhezustand aufweckt. – Daran bin ich nicht interessiert.

Ich möchte, dass mir jemand hilft, diese Lösung zu finden:

  • wie man das Ereignis „Monitor aus“ oder „Bildschirmschoner ein“ abfängt.
  • wenn nicht, dann fangen Sie zumindest einen expliziten Monitor-Aus-Befehl ab, den ich durch Ausführen einer monitorsOff.bat-Datei oder eines nircmd-Befehls oder AutoHotkey-AHK-Befehls sende.
  • Führen Sie dann ein Skript aus, das meine Maus/Mäuse/Peripheriegeräte außer der Tastatur sofort deaktiviert.
  • Wenn die Bildschirme dann wieder aktiviert werden oder der Bildschirmschoner geschlossen wird oder zumindest eine beliebige Taste auf der Tastatur gedrückt wird, aktivieren Sie die Maus erneut.

Prost.

[BEARBEITEN]

Wir haben eine großartige Lösung mit AHK von user3419297. Idealerweise sollte die Funktionalität jedoch auch funktionieren, wenn/während Windows gesperrt ist (nicht abgemeldet, sondern gesperrt).

Vielleicht irgendwie mithilfe von Feststelltasten, wie DaaBoss sagte, oder anderen Teilen der Windows-Zugänglichkeit.

Antwort1

Versuchen Sie dieses AHK-Skript:

$F1 Up::  ; or whatever combination you want
    Keyboard_Blocked := true   ; assign the Boolean value "true" or "1" to this variable
    BlockInput On   ; disable keyboard and mouse
    SendMessage, 0x112, 0xF170, 2,, Program Manager ; turn the monitor off, similar to power saving mode
    ; or:
    ; Run path of your screensaver 
return


; The #If directive creates context-sensitive hotkeys:

#If (Keyboard_Blocked) ; If this variable has the value "true" 

    $F1 Up::  ; press F1 to re-enable keyboard and mouse and turn the monitor on
        BlockInput Off
        Keyboard_Blocked := false
    return

#If ; turn off context sensitivity

BEARBEITEN:

Anstatt in den Energieoptionen die Zeit der Inaktivität zu konfigurieren, nach der sich der Monitor ausschaltet oder Win+L zu drücken, um das System zu sperren, können Sie dies mithilfe eines permanent laufenden AHK-Skripts tun. In diesem Skript können Sie weitere Dinge (Hotkeys, Hotstrings, Funktionen usw.) hinzufügen, die Ihnen die Arbeit erleichtern.

#NoEnv
#SingleInstance Force
SetTimer, DetectTimeIdle, 50
return

DetectTimeIdle:
; lock the computer automatically after 20 seconds of inactivity.
; Replace 20000 with 60000 for 1 minute etc.
If (A_TimeIdle > 20000) ; as long as there is no input within the last 20 seconds
    GoSub !F1 Up ; jump to this hotkey definition
return


; Press Alt+F1 to manually lock the computer
!F1 Up::
    Keyboard_Blocked := true   ; assign the Boolean value "true" or "1" to this variable
    BlockInput On   ; disable keyboard and mouse
    SendMessage, 0x112, 0xF170, 2,, Program Manager ; turn the monitor off, similar to power saving mode
return


#If (Keyboard_Blocked) 

    ; press F1 or F2 or Space ... to re-enable keyboard and mouse and turn the monitor on
    $F1 Up:: 
    $F2 Up::
    $Space Up::
    ; ...
        BlockInput Off
        Keyboard_Blocked := false
        ; Move the mouse  (speed 10) by 20 pixels to the right and 30 pixels down from its current location to unlock the computer:
        MouseMove, 20, 30, 10, R
        reload
    return

#If

verwandte Informationen