Blog (7)
Komentarze (155)
Recenzje (0)

Czasowe wyłączanie Windows 8

Strona główna@DelphiXCzasowe 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:

bEhycYHr
  • 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

Krok I - Kliknij, aby utworzyć nowe zdarzenie
Krok I - Kliknij, aby utworzyć nowe zdarzenie
Krok II
Krok II
Krok III
Krok III
Krok IV
Krok IV
Krok V
Krok V
Krok VI
Krok VI
Koniec - zadanie zostało zaplanowane
Koniec - zadanie zostało zaplanowane

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

Krok I - Za pomocą suwaka wybierz przedział czasowy od 3 do 100 minut
Krok I - Za pomocą suwaka wybierz przedział czasowy od 3 do 100 minut
Krok II - Kliknij na przycisk Uruchom odliczanie i potwierdź komunikat
Krok II - Kliknij na przycisk Uruchom odliczanie i potwierdź komunikat
Krok III - Program odlicza czas - jeśli chcesz anulować odliczanie kliknij na Anuluj odliczanie
Krok III - Program odlicza czas - jeśli chcesz anulować odliczanie kliknij na Anuluj odliczanie

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);
bEhycYHx

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...

Udostępnij:
bEhycYIn