PDA

Просмотр полной версии : Как плугином отследить Hibernate ?


Texno2k
16.11.2010, 16:11
Как плугином отследить Hibernate ?
Или Sleep.

Hamster
16.11.2010, 16:37
До чего же вы новички любите коряво вопросы задавать...
Settings->General->Startup/Shutdown commands

Gorynch
16.11.2010, 18:36
Off: да, мы такие ;) хлебом не корми, дай вопросами закидать )

Hamster
16.11.2010, 19:17
Off: да, мы такие ;) хлебом не корми, дай вопросами закидать )

Не, Горыныч, ты на новичка не катишь уже :) :) :)

Texno2k
16.11.2010, 19:35
может и коряво, не спорю.
но интересует програмно и именно в плагине отследить усыпление. всякие программы типа Hibernate Trigger это конечно хорошо, но самописному плагину от него не тепло не холодно :(

Hamster
16.11.2010, 19:45
Ну, ежели ты сам написал плагин, значит и SDK на центрефугу есть?
Там должно быть. Если вдруг SDK нема - тут (http://narod.ru/disk/21833922000/Centrafuse_SDK_v31_alpha2.exe) можно скачать для 3.1.

Texno2k
16.11.2010, 20:56
Спасибо что к гуглу не послали :)
При помощи сдк можно послать в standby, а вот отловить это событие не получается.

Hamster
16.11.2010, 23:20
Спасибо что к гуглу не послали :)
При помощи сдк можно послать в standby, а вот отловить это событие не получается.

Погодь, раз сама ЦФ может отследить, то как таких возможностей нет в SDK? Я конечно давно не программер, но это ж не логично...

Gorynch
16.11.2010, 23:42
Кмк, тут надо отлавливать событие винды, соот-но в sdk центрифуги такого параметра может и не быть ..
Так что копать нужно винду, я когда то искал про это под дельфи, но как то позабыл чем у меня это закончилось. Если чего найду - выложу

admin
16.11.2010, 23:44
В Delphi делается вот так
procedure TForm1.WMPowerBroadcast(var MyMessage: TMessage);
begin
if MyMessage.WParam = PBT_APMSUSPEND then .............

end;


Подробности здесь (http://software.intel.com/ru-ru/articles/windows-wm_powerbroadcast-messages-in-a-mobilized-environment/)

Texno2k
18.11.2010, 15:36
Спасибо за наводку.

Подробности здесь (http://software.intel.com/ru-ru/articles/windows-wm_powerbroadcast-messages-in-a-mobilized-environment/)[/QUOTE]

встроил в плугин class PowerMessageFilter : IMessageFilter
с перехватом сообщений от Win32.WM_POWERBROADCAST, но появилась другая проблема: при усыплении первое сообщение которое приходит это PBT_APMSUSPEND(а должно быть PBT_APMQUERYSUSPEND) соответственно и приходит оно на 5 секунд позже, чем все тоже самое успевает отработать HibernateTrigger.
Как победить? ибо сообщение PBT_APMSUSPEND это когда комп практически спит и ничего отработать не успевает :(