Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Poniższa tabela zawiera podsumowanie różnic między zamykaniem systemu Windows Vista i Windows XP.
| Cecha | Windows XP | Windows Vista |
|---|---|---|
| Blokowanie zamknięcia | Aplikacje mogą opóźniać reagowanie na WM_QUERYENDSESSION przez 5 sekund, a następnie system umożliwia użytkownikowi zakończenie aplikacji. Aplikacje, które zwracają true w odpowiedzi na WM_QUERYENDSESSION mogą opóźnić reagowanie na WM_ENDSESSION przez 5 sekund, a następnie system umożliwia użytkownikowi zakończenie aplikacji. | Aplikacje mogą opóźniać reagowanie na WM_QUERYENDSESSION przez 5 sekund, a następnie system umożliwia użytkownikowi kontynuowanie lub anulowanie zamknięcia. Aplikacje zwracające true w odpowiedzi na WM_QUERYENDSESSION mogą opóźnić reagowanie na WM_ENDSESSION przez 5 sekund, a następnie system umożliwia użytkownikowi kontynuowanie lub anulowanie zamknięcia. |
| Anulowanie zamknięcia | Jeśli aplikacja zwróci false w odpowiedzi na WM_QUERYENDSESSION, zamknięcie zostanie anulowane w większości przypadków. Jednak żaden interfejs użytkownika nie jest wyświetlany, więc użytkownik może nie wiedzieć, że zamknięcie zostało anulowane. | Jeśli aplikacja zwraca false w odpowiedzi na WM_QUERYENDSESSION, nadal pojawia się w interfejsie użytkownika zamknięcia. Należy pamiętać, że system nie zezwala aplikacjom konsoli ani aplikacjom bez widocznego okna na anulowanie zamknięcia. Te aplikacje są automatycznie przerywane, jeśli nie odpowiadają na WM_QUERYENDSESSION lub WM_ENDSESSION w ciągu 5 sekund lub jeśli zwracają false w odpowiedzi na WM_QUERYENDSESSION. |
| Zamykanie interfejsu użytkownika | System wyświetla okno dialogowe dla każdej aplikacji blokującej zamknięcie. Jeśli użytkownik kliknie przycisk Zakończ teraz, aplikacja zostanie zakończona. Jeśli użytkownik kliknie przycisk Anuluj, zamknięcie zostanie anulowane, a aplikacja będzie nadal działać. | System wyświetla pełnoekranowy interfejs użytkownika, który identyfikuje wszystkie aplikacje blokujące zamknięcie i ich przyczyny (jeśli zarejestrowano przyczynę przy użyciu ShutdownBlockReasonUtwórz). |
Najlepsze rozwiązania
- Aplikacje nie powinny blokować zamykania. Odpowiedz na WM_QUERYENDSESSION tak szybko, jak to możliwe, i odrocz działania oczyszczania do czasu przetworzenia komunikatu WM_ENDSESSION.
- Aplikacje, które muszą blokować zamknięcie, powinny używać nowej ShutdownBlockReasonCreate funkcji, aby zarejestrować ciąg, który wyjaśnia przyczynę dla użytkownika. Użytkownik może zdecydować, czy kontynuować, czy anulować zamknięcie.
- Aplikacje nie mogą polegać na blokowaniu zamykania.