Zablokowanie próby zamknięcia systemu lub wylogowania
Aby zablokować próbę zamknięcia systemu lub wylogowania się z niego należy przechwycić komunikat zamknięcia systemu i odpowiednio go obsłużyć.
W pliku nagłówkowym głównego formularza za sekcją public, a przed końcem deklaracji klasy umieścić mapę komunikatu przechwytującą komunikat WM_QUERYENDSESSION wysyłany przy próbie zamknięcia systemu lub przy próbie logowania:
Unit1.h |
BEGIN_MESSAGE_MAP |
W sekcji private umieścić deklarację funkcji OnQueryEndSession obsługującej nasze zdarzenie:
Unit1.h |
private: |
A w pliku głównym formularza tworzymy funkcję obsługującą nasze zdarzenie:
Unit1.cpp |
void __fastcall TForm1::OnQueryEndSession(TWMQueryEndSession&
Message) |
Gdyby zamiast Message.Result = 0; (zakaz zamknięcia systemu lub logowania użytkownika) umieścić Message.Result = 1; to system zostałby zamknięty lub użytkownik wylogowany.