(Wie) kann ich die Zeit ändern, bis der Bildschirmschoner über die Befehlszeile aktiviert wird?

10

Wie der Titel schon sagt (Windows 7). (Wie) kann ich die Zeit ändern, bis der Bildschirmschoner über die Befehlszeile aktiviert wird? Ist es überhaupt möglich?

Normalerweise bin ich mit einer 5-Minuten-Einstellung zufrieden, aber gelegentlich möchte ich sie länger machen. Ich möchte, dass die beiden Längen an Hotkeys gebunden sind (ich weiß, wie das geht).

Ich denke, ich könnte zwei Makros aufzeichnen und diese verwenden, aber ich habe mich nur gefragt, ob es Befehlszeilenoptionen (einschließlich Registrierungsaktualisierungen) gibt, mit denen ich Windows anweisen kann, den Bildschirmschoner nach X Minuten Inaktivität zu starten.

(Bitte beachten Sie, dass ich den Bildschirmschoner nicht sofort starten möchte. Ich möchte die Wartezeit von Windows vor dem Start ändern.)

Danke im Voraus.


[Antwort] Ich habe endlich eine Variation der Antwort von @Gjordis verwendet - aber alle Ehre gebührt ihm.

Ich habe nicht gesehen, warum wir drei Operationen brauchten: Hinzufügen, Löschen, Umbenennen und Reduzieren auf zwei.

Da ich an einen Hotkey binden möchte, muss ich zwei Befehle in einem ausführen. Normalerweise kann man die Befehle mit einem Semikolon trennen und in einer Zeile ausgeben (z dir c:;dir d:. B. ). Das gab Fehler mit dem regBefehl, so dass ich am Ende zwei Batch-Dateien habe. Die Inhalte sind identisch, nur die Dauer ändert sich.

Seltsamerweise wird der Wert korrekt in die Registrierung geschrieben, aber Control Panel / Personalize / Screen Saver aktualisiert die GUI nicht immer. Ich habe es jedoch getestet und der Bildschirmschoner verhält sich wie erwartet.

@echo off
reg delete "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut /f
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 180 /f

Wenn dir das hilft, stimme bitte der Frage zu ;-)

Mawg sagt, Monica wieder einzusetzen
quelle

Antworten:

7
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 600 /f

Der Wert 600 ist in Sekunden = 10 Minuten. Interessanterweise funktioniert dies, wie bereits erwähnt, nur beim ersten Mal. Bei der nächsten Änderung müssen Sie einen neuen Schlüssel wie folgt erstellen:

reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOutTemp /t REG_SZ /d 300 /f

Dann löschen Sie die alte

reg delete "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 600 /f

Kopieren Sie dann den neuen auf den richtigen Namen

reg copy "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOutTemp "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeOut

Hoffentlich funktioniert das und Sie zerstören Ihren Computer nicht, aber da Sie diesen Registrierungswert nicht hatten, denke ich nicht, dass das Löschen so schrecklich sein kann.

REG-Dokumentation hier: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/reg.mspx?mfr=true

Gjordis
quelle
Das funktioniert :-) Nur beim ersten Mal :-( Vermutlich, weil ich zum ersten Mal keinen Registrierungseintrag hatte, also hinzufügen könnte, aber möglicherweise später ändern muss? +1 für den Versuch. Danke
Mawg sagt, Monica am
1
Bearbeitet, um hoffentlich auch zu anderen Zeiten zu arbeiten
Gjordis
+1 Nun, das ist seltsam. Ich kann sehen, dass der Registrierungsschlüssel aktualisiert wird, aber wenn ich mit der rechten Maustaste auf den Desktop klicke (oder über die Systemsteuerung gehe) und "Peronalisieren" wähle, werden auf der GUI immer noch 5 Minuten angezeigt. Wenn ich 10 Sekunden über die Registrierung einstelle, startet der Bildschirmschoner nicht nach 10 Sekunden (oder sogar nach einigen Minuten). Wenn ich 1 Minute in der GUI einstelle, startet es nach 1 Minute (und aktualisiert die Registrierung korrekt).
Mawg sagt, Monica am
Vielleicht hat es einen gültigen Wertebereich
Gjordis
+1 Ich habe eine Variation Ihrer Antwort verwendet und sie in der obigen Frage veröffentlicht. Vielen Dank für Ihre Hilfe
Mawg sagt, Monica am
1

Tatsächlich funktioniert dieser Ansatz (über die Registrierung) erst nach einem Neustart . Die einzige Möglichkeit, dies ohne einen Neustart des PCs zu tun, ist die Verwendung einer API:

https://www.pcreview.co.uk/threads/utility-to-temporary-change-the-screensaver.2321339/#post-7442568

APIs können jedoch nicht über eine Befehlszeile, dh ein VB-Skript, verwendet werden. Hier ist der Grund:

http://forums.codeguru.com/showthread.php?31534-VBScript-and-API&p=86696#post86696

Dies kann durch Aufrufen des Dienstprogramms SetScrTimeout.exe (über den ersten Link) erfolgen. Leider ist dieses kleine Dienstprogramm im Internet nicht mehr vorhanden.

Aleksandar
quelle
Dank dafür. Vielleicht kann SetScrTimeout.exe auf dem Rückweg gefunden werden ? Ich kann wegen der Firewall des Unternehmens nicht nachsehen, aber es sollte da sein - alles andere ist ;-)
Mawg sagt, Monica
1
Ich habe es sogar auf FTP-Servern versucht, aber kein Ergebnis. Ich habe zu diesem Zweck einen VB-Quellcode gefunden ( freevbcode.com/ShowCode.asp?ID=504 ), kann jedoch keine Exe erstellen und freigeben .
Aleksandar
Irgendeine Idee welche Version von VB (ich vermute VN 6)?
Mawg sagt, Monica
1
Ja, es ist VB6. Sorry für meine späte Antwort.
Aleksandar