Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.13;
Скачать: CL | DM;

Вниз

msg.result?   Найти похожие ветки 

 
Jon ©   (2007-10-08 04:36) [0]

How to change the result of a message?
I want to prevent standby or suspend while app is running.
Applet.OnMessage := TOnMessage(MakeMethod(nil,@AppMessage));
MSDN tells me that return value of message shoud be BROADCAST_QUERY_DENY
function AppMessage(Dummy: Pointer; var Msg: tagMSG; var Rslt: Integer): Boolean;
begin
 Result := False;
 case Msg.message of
   WM_POWERBROADCAST:
   begin
     case Msg.wParam of
       PBT_APMSUSPEND, PBT_APMSTANDBY:
       begin
         Msg.message := BROADCAST_QUERY_DENY;
//          Msg.Result := BROADCAST_QUERY_DENY;
         Result := True;
       end;
     end;
   end;
end;

Why can I not assign a msg.result?


 
thaddy   (2007-10-08 11:17) [1]

Use the OnClose and/or OnQueryEndSession events instead.
See kol.pas for good documentation.


 
Jon ©   (2007-10-08 12:37) [2]

I know that OnClose handles application exit and that OnQueryEndSession handles shutdown/logoff, but neither handle standby/suspend (I have tried).

Thanks for the suggestion, but I really think that I need to handle the APM requests and to return BROADCAST_QUERY_DENY as described in MSDN - unfortunately there seems to be no KOL documentation on how to return message values :-(


 
Vladimir Kladov ©   (2007-10-08 15:49) [3]

Rslt := BROADCAST_QUERY_DENY;


 
fellix   (2007-10-08 15:58) [4]

> Jon ©   (08.10.07 04:36)  
> I want to prevent standby or suspend while app is running.


This works.

if (Msg.message = WM_POWERBROADCAST) and
  ((Msg.wParam = PBT_APMQUERYSUSPEND) or
   (Msg.wParam = PBT_APMQUERYSTANDBY))
then begin
 Rslt := BROADCAST_QUERY_DENY;
 Result := True;
end
else Result := False;


Note, that under Vista you have to enable corresponding group policy.


 
Jon ©   (2007-10-08 17:08) [5]


> Rslt := BROADCAST_QUERY_DENY;


I need my eyes checked - thank you!


> PBT_APMQUERYSUSPEND, PBT_APMQUERYSTANDBY


Got it! I was incorrectly using PBT_APMSUSPEND and PBT_APMSTANDBY. Thanks!



Страницы: 1 вся ветка

Текущий архив: 2008.07.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
15-1211968530
lazanor
2008-05-28 13:55
2008.07.13
модуль для работы с математическими выражениями


2-1213375060
Groxel
2008-06-13 20:37
2008.07.13
DataTable и строки


15-1211830557
Дмитрий С
2008-05-26 23:35
2008.07.13
Время жизни ком-объекта.


6-1177311252
аыпвапы
2007-04-23 10:54
2008.07.13
Клиент не отключается!!!


15-1211959878
Azize
2008-05-28 11:31
2008.07.13
Веб-сайты, которые изменили мир. Топ-15