Сообщение wm_queryendsession посылается всем приложениям когда пользователь выбирает завершение сеанса или когда приложение вызывает

Функция ExitWindows. Если какое-либо приложение возвращает ноль, сеанс не завершается.

Система перестает отправлять сообщения WM_QUERYENDSESSION, как только одно приложение

возвращать нуль. После обработки этого сообщения система отправляет сообщение WM_ENDSESSION с

Параметр wParam задает результаты сообщения WM_QUERYENDSESSION.

 

Windows NT / 2000 / XP: Когда приложение возвращает значение true для этого сообщения,

он получает сообщение WM_ENDSESSION и завершается, независимо от ответа других приложений на сообщение WM_QUERYENDSESSION.

 

Windows 95/98/Me: После того, как все приложения возвращают true для этого сообщения, они получают WM_ENDSESSION и они прекращаются.

 

Code:

{

 

}

 

private

procedure WMQueryEndSession (var Msg : TWMQueryEndSession); message WM_QueryEndSession;

end;

 

Implementation

 

procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession);

begin

if MessageDlg('Close Windows now/ Windows beenden?',

                           mtConfirmation,

                           [mbYes,mbNo], 0) = mrNo then

     Msg.Result := 0

  else

     Msg.Result := 1;

end;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!