Chcę przełączyć komputer z systemem Windows (Windows 7) w stan uśpienia za pomocą wiersza polecenia (dzięki czemu mogę przypisać przycisk makra na klawiaturze).
Przycisk zasilania na komputerze jest skonfigurowany tak, aby komputer spał (ale leży na podłodze i jestem zbyt leniwy, aby zejść w dół) dokładnie tak, jak tego chcę (śpi w trybie hybrydowym na wypadek utraty zasilania)
Działa także polecenie uśpienia w menu zamykania.
większość informacji, które znalazłem, mówi o użyciu;
%windir%\system32\rundll32.exe PowrProf.dll, SetSuspendState 0,1,0
Ale to powoduje przejście komputera w tryb hibernacji. Mam hibernację wyłączoną, ale korzystam ze snu hybrydowego.
Jakiego polecenia użyć, aby uśpić komputer (nie hibernować)?
windows-7
windows
command-line
Eric L.
źródło
źródło
rundll32.exe PowrProf.dll,SetSuspendState
nie jest zalecane. To jest niebezpieczne. (Ponieważ psuje stos, ponieważ nie spełnia wymaganej przez niego sygnatury funkcjiRundll32
. Wtedy mogą się zdarzyć nieprzewidziane złe rzeczy, jak ostrzega Raymond Chen …)Odpowiedzi:
Znalazłem rozwiązanie. Zainstalowałem darmowy program o nazwie AutoHotKey i zapisałem kroki, aby wywołać Menu Start -> Uśpij się w pliku skryptu. Następnie dostosowałem plik skryptu do autonomicznego pliku wykonywalnego SleepWin7.exe.
Teraz po prostu uruchamiam SleepWin7.exe, aby przełączyć komputer w tryb uśpienia hybrydowego.
Możesz odinstalować AutoHotKey, jeśli to wszystko, czego potrzebujesz.
Aktualizacja: powyższe rozwiązanie nie działa, gdy użytkownik nie jest zalogowany, tj. Ekran logowania do systemu Windows 7. (Mój komputer budzi się o 4 rano w każdą niedzielę, aby wykonać cotygodniowe kopie zapasowe, co odbywa się bez logowania użytkownika.) W takim przypadku program Wizmo nadal działa:
źródło
nircmd.exe standby
więcej informacji można znaleźć tutaj -> nirsoft.net/utils/nircmd.htmlMam nadzieję, że okażą się one przydatne.
Zamknąć
%windir%\System32\shutdown.exe -s
Restart
%windir%\System32\shutdown.exe -r
Wyloguj
%windir%\System32\shutdown.exe -l
Czekaj
%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState StandbyHibernować
%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState HibernatePrzestroga: nie należy używać programu rundll32.exe do uruchamiania pliku powerprof.dll . Zamiast tego powinieneś wywołać SetSuspendState bezpośrednio. Można to zrobić za pomocą programu Powershell - utwórz plik, np. Sleep.ps1, z poniższą zawartością.
Następnie uruchom go za pomocą
powershell -File C:\your-path\sleep.ps1
. Może być konieczne uruchomienie polecenia,Set-ExecutionPolicy RemoteSigned
aby umożliwić uruchamianie skryptów PowerShell.Powyższy skrypt powoduje zawieszenie systemu, które będzie uśpione lub hibernowane w zależności od bieżącego ustawienia hibernacji. Aby zmienić to ustawienie z wiersza polecenia, uruchom
powercfg -h off
(lubon
) z wiersza polecenia jako administrator.źródło
Zobacz bezpłatne narzędzie Wizmo , które potrafi wiele rzeczy.
Polecenie, którego szukasz, to prawdopodobnie:
źródło
wizmo.exe quiet standby
tłumi prawdopodobnie denerwujące dźwiękiwizmo.exe
.Możesz utworzyć plik z rozszerzeniem .ps1 (powershell), taki jak „sleep.ps1” i napisać to:
Używam tego, gdy mam coś uruchomionego i muszę opuścić komputer i nie chcę go wyłączać. Więc zmieniam skrypt, aby wyglądał tak:
A teraz, kiedy go uruchamiam, wprowadzam minuty, które chcę poczekać do snu.
Możesz uruchomić to z linii cmd, pisząc
Jeśli nigdy wcześniej nie uruchamiałeś skryptu PowerShell, najpierw musisz go uruchomić
w PowerShell, aby umożliwić działanie skryptu. To musi być uruchomione tylko raz.
źródło
Z Sysinternals PsTools [ pobierz ]:
za pomocą narzędzia Wiersz polecenia PsShutdown .
(Możesz preferować to rozwiązanie, jeśli już pobrałeś PsTools, jest ono dość szeroko stosowane. Poza tym to podejście jest równoważne z użyciem ).
wizmo
quiet standby
Źródło: https://superuser.com/a/331545/21887
źródło
Używam tego narzędzia SLEEP.EXE od lat. Działa dobrze i nie musisz pamiętać, jakie argumenty podać w trybie zawieszenia (domyślna forma „uśpienia”).
źródło
aby wyłączyć tryb hibernacji, musisz użyć
teraz rundll32 powrprof.dll, SetSuspendState przełączy twoją stację w tryb gotowości
[EDYTOWAĆ]
właściwie nie mogę skonfigurować uśpienia hybrydowego, ponieważ mam laptopa (stan, który nie jest dostępny na stacjach mobilnych), dla uśpienia hybrydowego musisz mieć włączoną hibernację, a niektórzy twierdzą, że rundll32 powrprof.dll, SetSuspendState wyzwala uśpienie domyślne tryb w panelu sterowania \ ustawienia zarządzania energią. spróbuj, jeśli rundll32 powrprof.dll, uśpienie hybrydowe SetSuspendState da jakieś wyniki.
źródło
Zrób plik nietoperza, gdzie 600 to opóźnienie w sekundach.
ping -n 600 -w 1 127.0.0.1> nul
powercfg -h wyłączony
% windir% \ System32 \ rundll32.exe powrprof.dll, tryb gotowości SetSuspendState
źródło
Jeśli jesteś kompetentny w kompilowaniu programu .NET , zrobi to następująca komenda
Uwaga: Nie musisz wyłączać hibernacji, jak wymaga tego
rundll32 powrprof.dll,SetSuspendState
polecenie. Możesz także użyć,PowerState.Hibernate
który zahibernuje maszynę, jeśli chcesz.Za pomocą tego polecenia można łatwo skompilować plik EXE z dowolną wersją programu Visual Studio . Wystarczy utworzyć aplikację konsoli i dodać odwołanie do
System.Windows.Forms
biblioteki DLL.źródło
Visual Studio
do kompilacji. Zamiast tegocsc.exe
można użyć kompilatora wiersza polecenia . Jest już zainstalowany we wszystkich nowoczesnych wersjach systemu Windows.