Показать сообщение отдельно
  #11  
Старый 05.12.2010, 19:18
3nick 3nick вне форума
Прохожий
 
Регистрация: 05.12.2010
Сообщения: 12
Репутация: 10
Вопрос

наконец то с помощью API формы смог перехватить это сообщение:
Код:
function PlainWinProc (hWnd: THandle; nMsg: UINT;
  wParam, lParam: Cardinal): Cardinal;  stdcall;
begin
   case nMsg of
     WM_QUERYENDSESSION: Result:= Cardinal(true);
     WM_ENDSESSION:
     begin//ВОТ ТУТ НАЧИНАЮТСЯ ТРАБЛЫ((
        defWindowProc(hwnd,WM_CLOSE,0,0);
        Result:= Cardinal(true);
        ExitProcess(0);
     end
     else result:= defWindowProc(hwnd,nMsg,wparam,lparam);
   end;
end;
ПОСЛЕ сообщения ENDSESSION опять выскакиевает предложение подождать закрытия программы. видимо неправильное его обрабатываю. но не знаю как правильно.
Ответить с цитированием