Verhindern Sie die Bildschirmsperre beim Abspielen mit dem Joystick

1792
anishsane

Mein Windows 7-System ist so eingestellt, dass der Bildschirm nach 20 Minuten Inaktivität gesperrt wird. (Von Office durchgesetzte Richtlinie; Einstellungen können nicht geändert werden.)

Wenn ich die Tastatur / Maus verwende, behandelt Windows sie als Benutzereingaben und somit bleibt der Bildschirm entsperrt. Wenn ich jedoch ein Spiel nur mit einem Joystick spiele, behandelt Windows dies als Nichtaktivität. Somit wird der Bildschirm nach dem Timeout gesperrt.

Gibt es eine Möglichkeit, Bildschirmsperren zu verhindern, während Joystick-basierte Spiele verwendet werden?

Um das Problem zu umgehen, spiele ich momentan ein zufälliges Video (stummgeschaltet) im Hintergrund-VLC ab, wodurch die Bildschirmsperre verhindert wird. Aber es sollte einen besseren Weg geben, um dieses Problem zu lösen ...

Ich könnte eventuell ein Skript schreiben, das einige Tastenanschläge wie via simulieren würde sendkeys. Es besteht jedoch immer die Möglichkeit einer Nebenwirkung. Das würde mich beispielsweise daran hindern, diese Tasten in meinen Spieloptionen zu verwenden.

10
Ja, es kann auf die von Ihnen vorgeschlagene Weise erreicht werden. Aber haben Sie geprüft, ob Sie die Energiepläne wechseln können? (Anstatt die Einstellungen für den Energieplan zu ändern.) Manchmal sind bei den Energiesparfunktionen des Energiesparplans ** High Performance ** die Energiesparfunktionen deaktiviert. Und auch: Wenn sie Ihre Energieplaneinstellungen gesperrt haben, haben sie die Möglichkeit zum Installieren oder Ausführen von Software, die nicht von Admins autorisiert wurde, freigeschaltet? miroxlav vor 9 Jahren 0
"Manchmal ist der Energiesparplan für den Hochleistungsplan deaktiviert" Gute Idee ... Diese Einstellung wird jedoch als Richtlinie in Bildschirmschoner-Einstellungen und nicht als Energieplan-Einstellungen durchgesetzt. "Haben sie die Möglichkeit, Software zu installieren oder auszuführen, die nicht von Admins autorisiert wurde, freigeschaltet?" Ja, aber diese Software kann die durch die Richtlinie erzwungenen Einstellungen nicht ändern. anishsane vor 9 Jahren 0
Kennt jemand eine Windows-API, um Bildschirmsperren zu verhindern, die Mediaplayer wie VLC beim Abspielen von Videos verwenden? anishsane vor 9 Jahren 0

1 Antwort auf die Frage

0
misha256

Wenn Sie eine Taste auf der Tastatur drücken oder die Maus bewegen oder klicken, setzt Windows den Leerlaufzeitgeber zurück . Es gibt eine Windows-API-Funktion, die Sie aufrufen können, um den Leerlaufzeitgeber auf dieselbe Weise zurückzusetzen. Durch den regelmäßigen Aufruf der Funktion wird der Bildschirmschoner niemals aktiviert und der Computer wird niemals gesperrt. Dies ist, was VLC und andere Anwendungen tun.

Der Funktionsname lautet SetThreadExecutionStateund wird in gefunden kernel32.dll. In VB sieht der eigentliche Anruf so aus:

SetThreadExecutionState(ES_SYSTEM_REQUIRED Or ES_DISPLAY_REQUIRED)

Die zwei Konstanten sind:

ES_SYSTEM_REQUIRED = &H1 und ES_DISPLAY_REQUIRED = &H2

Sie können diese Aufrufe nicht über VBScript ausführen, daher benötigen Sie etwas fortgeschritteneres Programm, um dies zu programmieren.

Übrigens ist dies der technisch korrekte Weg, dies zu tun. Viele Dienstprogramme, die ich im Internet gesehen habe, verwenden dumme Tricks wie das Simulieren von Tastenanschlägen oder das Wackeln mit der Maus. Das ist meiner Meinung nach schlecht, da dies Ihre Arbeit beeinträchtigen kann.

Jedenfalls habe ich zu viel abgewandt. Diese Art von Sachen gehört zu Stack Overflow.