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