Jak pyta tytuł (Windows 7). (Jak) mogę zmienić czas do uruchomienia wygaszacza ekranu z wiersza poleceń? Czy to w ogóle możliwe?
Zwykle jestem zadowolony z ustawienia 5 minut, ale czasami chcę to wydłużyć. Chciałbym, aby dwie długości były powiązane z klawiszami skrótu (wiem, jak to zrobić).
Chyba mógłbym nagrać dwa makra i korzystać z nich, ale zastanawiałem się, czy są jakieś opcje wiersza poleceń (w tym aktualizacje rejestru), których mogę użyć, aby powiedzieć Windowsowi, aby uruchomił wygaszacz ekranu po X minutach bezczynności.
(Uwaga: nie chcę od razu uruchamiać wygaszacza ekranu; chcę zmienić czas oczekiwania systemu Windows przed uruchomieniem)
Z góry dziękuję.
[Odpowiedź] W końcu użyłem wariacji na odpowiedź z @Gjordis - ale cały kredyt należy mu.
Nie rozumiem, dlaczego potrzebujemy 3 operacji: dodaj, usuń, a następnie zmień nazwę i zredukuj to do dwóch.
Ponieważ chcę połączyć się ze skrótem, muszę wykonać dwa polecenia w jednym. Normalnie można rozdzielić polecenia średnikiem i wydać je w jednym wierszu (np dir c:;dir d:
.). To dało błędy w reg
poleceniu, więc na koniec mam dwa pliki wsadowe. Contens są identyczne, zmienia się tylko czas trwania.
Dziwne - wartość jest poprawnie zapisywana w rejestrze, ale Panel sterowania / Personalizuj / Wygaszacz ekranu nie aktualizuje GUI. Jednak przetestowałem i wygaszacz ekranu zachowuje się zgodnie z oczekiwaniami.
@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
Jeśli to ci pomoże, głosuj na pytanie ;-)
źródło
W rzeczywistości takie podejście (poprzez rejestr) nie działa do momentu ponownego uruchomienia . Jedynym sposobem na to bez ponownego uruchamiania komputera jest użycie interfejsu API:
https://www.pcreview.co.uk/threads/utility-to-temportem-change-the-screensaver.2321339/#post-7442568
ale interfejsów API nie można używać z wiersza poleceń, tj. skryptu VB. Oto powód:
http://forums.codeguru.com/showthread.php?31534-VBScript-and-API&p=86696#post86696
Można to zrobić, wywołując narzędzie SetScrTimeout.exe (z pierwszego łącza), ale niestety to małe narzędzie nie istnieje już w Internecie.
źródło