Czasowe wyłączanie Windows 8
11.12.2012 12:33
Idź spać, a muzyka gra ... Dlaczego w żadnym systemie operacyjnym nie można po ludzku zrobić wyłącznika czasowego. Osobiście uwielbiam słuchać muzyki "na dobranoc" z swojego PC do którego mam podłączony taki wzmacniacz własnej roboty na bardzo dobrych tranzystorach Toshiby
Na żadnym, systemie operacyjnym dla desktopów tego nie znalazłem i miałem nadzieję, że w nowym systemie od firmy Microsoft to znajdę ... i nie znalazłem ;/ Trzeba sobie jakoś poradzić ...
Rozwiązanie z wykorzystaniem programu Planowe Zadania
W systemie Windows, a dokładnie katalogu System32 możemy odnaleźć mały program shutdown.exe. Aby zobaczyć jakie ma możliwości najlepiej i najprościej:
- 1. Wciśnij kombinację klawiszy <klawisz Windows> + R
- 2. Wpisz w pole tekstowe cmd.exe i kliknij Uruchom lub naciśnij ENTER
- 3. W okno konsoli wpisz polecenie shutdown.exe /?
- 4. Zostaną zaprezentowane kombinacje parametrów dla tej aplikacji
Oczywiście można to sprawdzić również na MS TechNet. Interesuje nas wyłączanie komputera więc nasze polecenie będzie wyglądać tak:
shutdown.exe -s
Krok po kroku
Uruchamiamy narzędzie Planowane zadania korzystając z wyszukiwarki programów dostępnej z poziomu skrótu znajdującego się na prawym boku ekranu. W zależności od języka Twojego systemu będzie to albo Task Sheduler albo Planowane Zadania
Rozwiązanie z wykorzystanie mojego małego programu
Z okazji premiery Windows 8 tylu blogerów napisało już swoje fajne programy m.in zamiennki dla Start Screen, więc jako programista amator i pasjonata tej dziedziny nie mogę nic nie dać od siebie. Byłoby to samolubne, a programik do obliczania sum MD5 się słabo spodobał więc dodaje moją małą cegiełkę do tego systemu ;) Myślę, że jest to rozwiązanie szybsze oraz wygodniejsze, ponieważ początkujący użytkownik może łatwo pogubić się w gąszczu ustawień powyższego programu i np ustawić wyłączanie systemu kiedy PC jest w stanie jałowym - to by była dopiero oszczędność :D
A dla fanów Delphi ...
function DoSpania(Flags: Word): Boolean; var iVersionInfo : TOSVersionInfo; iToken : THandle; iPriveleg : TTokenPrivileges; iaresult : DWord; begin Result:=False; FillChar (iPriveleg, SizeOf (iPriveleg), #0); iVersionInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); GetVersionEx(iVersionInfo); if iVersionInfo.dwPlatformId <> VER_PLATFORM_WIN32_NT then Result:=ExitWindowsEx(Flags, 0) else if OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, iToken) then if LookupPrivilegeValue (NIL,'SeShutdownPrivilege', iPriveleg.Privileges[0].Luid) then begin iPriveleg.PrivilegeCount := 1; iPriveleg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; if AdjustTokenPrivileges (iToken, False, iPriveleg, Sizeof(iPriveleg), iPriveleg, iaresult) then Result:=ExitWindowsEx (Flags, 0); end; end;
Wywołanie funkcji
DoSpania(EWX_FORCEIFHUNG or EWX_POWEROFF);
Flaga EWX_FORCEIFHUNG wymusza zamknięcie mimo braku zgody innych programów, natomiast EWX_POWEROFF to flaga kluczowa mówiąca co chcemy zrobić ;) Jeśli system odmówi współpracy funkcja zwraca wartość FALSE w przeciwnym wypadku TRUE;
Oczywiście możemy kombinować z flagami jak kucyk pod górę. Zachęcam do lektury tego co przygotował dla nas Microsoft - podano jak na tacy.Raczej kod nie wymaga tłumaczenia, a wywoływane funkcje to wszystko WinAPI
Linki:
1. Pobierz Czasowy wyłącznik PC dla Windows 8: http://ultimateplayer.com.pl/.../Timer.zip 2. Raport antywirusowy dla samego pliku wykonywalnego Timer.exe: https://www.virustotal.com/file/7a393aca4f2cec34629b811286f95f4493b7fc... 3. Raport antywirusowy dla dostępnego do pobrania archiwum Timer.zip https://www.virustotal.com/file/dcd03d25d852d4a245b8a8bd280581e8c022f8... 4. Ciekawostka na blogu Microsoft Tech Net http://blogs.technet.com/b/longhorn-poland/archive/2009/05/25/shutdown...