наконец то с помощью 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 опять выскакиевает предложение подождать закрытия программы. видимо неправильное его обрабатываю. но не знаю как правильно.