Главная страница
    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.45 MB
Время: 0.009 c
2-1213186477
Helpme_
2008-06-11 16:14
2008.07.13
Помогите


2-1213159421
DJ Kondakov
2008-06-11 08:43
2008.07.13
Вопрос по TFileStream


3-1201774049
Галинка
2008-01-31 13:07
2008.07.13
Запрос с вычислимым полем (?)


15-1210961167
@!!ex
2008-05-16 22:06
2008.07.13
Как писать на С++, а не на Дельфи?


15-1211952988
Ega23
2008-05-28 09:36
2008.07.13
С Днём Пограничника!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский