Zamykanie, restartowanie i logowanie użytkownika

Ponowne uruchomienie Windowsa:

Aby po kliknięciu przycisku Button1 system Windows został ponownie uruchomiony wywołujemy funkcję Windows API ExitWindowsEx() podając jako argumenty EWX_REBOOT (oznacza ponowne uruchomienie Windowsa) i 0 (argument ten jest ignorowany):

Unit1.cpp

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   ExitWindowsEx(EWX_REBOOT, 0);
}

Zamknięcie Windowsa:

Aby po kliknięciu przycisku Button1 system Windows został wyłączony wywołujemy funkcję Windows API ExitWindowsEx() podając jako argumenty EWX_SHUTDOWN (oznacza zamknięcie Windowsa) i 0 (argument ten jest ignorowany):

Unit1.cpp

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   ExitWindowsEx(EWX_SHUTDOWN, 0);
}

Wylogowanie użytkownika:

Aby po kliknięciu przycisku Button1 użytkownik został wylogowany wywołujemy funkcję Windows API ExitWindowsEx() podając jako argumenty EWX_LOGOFF (oznacza wylogowanie użytkownika) i 0 (argument ten jest ignorowany):

Unit1.cpp

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   ExitWindowsEx(EWX_LOGOFF, 0);
}



29-03-2001

Używając w celu zamknięcia Windowsa polecenia ExitWindowsEx(EWX_SHUTDOWN, 0) komputer wysyła zapytanie do wszystkich uruchomionych aplikacji, czy mogą zostać zamknięte, np. w Wordzie pojawia się okienko z napisem, czy zapisać plik, jeżeli klikniemy Anuluj to komputer nie zostanie zamknięty.

Aby po kliknięciu przycisku Button1 zamknąć komputer bez względu na otwarte aplikacje i na to, czy mają jakieś niezapisane dane (co wiąże się z ich utratą) należy skorzystać z funkcji Windows API ExitWindowsEx() podając jako argumenty EWX_SHUTDOWN | EWX_FORCE (oznacza natychmiastowe zamknięcie systemu) i 0 (argument ten jest ignorowany):

Unit1.cpp

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0);
}