![Achten Sie auf das Ereignis „Bildschirm aus“ und deaktivieren Sie die Maus in Windows](https://rvso.com/image/1552786/Achten%20Sie%20auf%20das%20Ereignis%20%E2%80%9EBildschirm%20aus%E2%80%9C%20und%20deaktivieren%20Sie%20die%20Maus%20in%20Windows.png)
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