Главная страница
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.02 c
2-1213609411
Степан
2008-06-16 13:43
2008.07.13
Программно поместить TWebBrowser


2-1213453411
cr@nk
2008-06-14 18:23
2008.07.13
Помогите с задачей по множествам


15-1212131847
123-ий
2008-05-30 11:17
2008.07.13
Delphi или Object Pascal


15-1211903807
Randew
2008-05-27 19:56
2008.07.13
Почему не запускаются программы


2-1213513674
TForumHelp
2008-06-15 11:07
2008.07.13
Ресурсы в EXE-файле - Иконка