"AND" "OR"
Главная Информер Журнал Форум

Завершение сеанса работы пользователя (Log Off).

Завершить сеанс работы текущего пользователя можно при помощи функции ExitWindows. Предварительно, все приложения должны завершить свою работу. Если какое-нибудь из приложений при обработке сообщения WM_QUERYENDSESSION вернёт FALSE, то сеанс работы пользователя не будет завершён. Таким образом, если в Вашем приложении есть обработчик сообщения WM_QUERYENDSESSION, то Вы можете прекратить операцию завершения сеанса, даже если запрос на завершение сеанса был отправлен самой системой.

 

Следующий пример показывает, как завершить сеанс работы текущего пользователя. Также в примере демонстрируется, как приложение может предотвратить операцию завершения сеанса пользователя.

// Завершаем сеанс работы текущего пользователя.

ExitWindows(0, 0);


// Обрабатываем сообщение в оконной процедуре приложения.

case WM_QUERYENDSESSION:
{
    int r;
    r = MessageBox(NULL, "Shut down?","WM_QUERYENDSESSION", MB_YESNO);

    // Возращаем TRUE, если пользователь согласен, иначе FALSE.

    return r == IDYES;
    break;
}