Sdílet prostřednictvím


Vypnout změny systému Windows Vista

Následující tabulka shrnuje rozdíly mezi vypnutím systému Windows Vista a Windows XP.

Rys Windows XP Windows Vista
Blokování vypnutí Aplikace můžou zpozdit odezvu na WM_QUERYENDSESSION po dobu 5 sekund a systém umožní uživateli ukončit aplikaci. Aplikace, které vrací TRUE v reakci na WM_QUERYENDSESSION můžou zpozdit odezvu na WM_ENDSESSION po dobu 5 sekund, pak systém umožňuje uživateli ukončit aplikaci. Aplikace mohou zpozdit odezvu na WM_QUERYENDSESSION po dobu 5 sekund, systém umožňuje uživateli pokračovat nebo zrušit vypnutí. Aplikace, které vrací true v reakci na WM_QUERYENDSESSION mohou pozdržet odezvu na WM_ENDSESSION po dobu 5 sekund, systém umožňuje uživateli pokračovat nebo zrušit vypnutí.
Zrušení vypnutí Pokud aplikace vrátí FALSE v reakci na WM_QUERYENDSESSION, vypnutí se ve většině případů zruší. Nezobrazuje se ale žádné uživatelské rozhraní, takže uživatel nemusí vědět, že vypnutí bylo zrušeno. Pokud aplikace vrátí FALSE v reakci na WM_QUERYENDSESSION, stále se zobrazí v uživatelském rozhraní vypnutí. Mějte na paměti, že systém neumožňuje konzolové aplikace nebo aplikace bez viditelného okna zrušit vypnutí. Tyto aplikace jsou automaticky ukončeny, pokud nereagují na WM_QUERYENDSESSION nebo WM_ENDSESSION do 5 sekund nebo pokud vrátí FALSE v reakci na WM_QUERYENDSESSION.
Vypnutí uživatelského rozhraní Systém zobrazí dialogové okno pro každou aplikaci blokující vypnutí. Pokud uživatel klikne na tlačítko Ukončit nyní, aplikace se ukončí. Pokud uživatel klikne na tlačítko Zrušit, vypne se a aplikace bude dál spuštěná. Systém zobrazí uživatelské rozhraní na celé obrazovce, které identifikuje všechny aplikace blokující vypnutí a jejich důvody (pokud si zaregistroval důvod použití ShutdownBlockReasonCreate).

 

Osvědčené postupy

  • Aplikace by neměly blokovat vypnutí. Co nejrychleji odpovězte na WM_QUERYENDSESSION a odložte aktivity čištění až do zpracování zprávy WM_ENDSESSION.
  • Aplikace, které musí blokovat vypnutí, by měly používat novou funkci ShutdownBlockReasonCreate k registraci řetězce, který vysvětluje důvod pro uživatele. Uživatel se může rozhodnout, jestli chcete pokračovat nebo zrušit vypnutí.
  • Aplikace se nemůžou spoléhat na schopnost blokovat vypnutí.