Здравствуйте, DmitryM12, Вы писали:
DM>Как перехватить нажатие на кнопку Power на кпк? Надо чтобы вместо выключения питания PDA'ки, выполнялась моя функция. Как это сделать?
DM>PPC 2003, WinCE .NET 4.0 DM>EVC++ 4.0
DM>Спасибо!
IMHO выключение по кнопке Power ты не отменишь, даже если перехватишь,
а вот suspend по Idle таймеру отменить можно (SystemIdleTimerReset).
Гм... те системные события которые MS позволяет отслеживать простым разработчикам, перечислены ниже:
NOTIFICATION_EVENT_DEVICE_CHANGE A PC Card device changed.
NOTIFICATION_EVENT_IR_DISCOVERED The device discovered a server by using infrared communications.
NOTIFICATION_EVENT_NET_CONNECT The device connected to a network.
NOTIFICATION_EVENT_NET_DISCONNECT The device disconnected from a network.
NOTIFICATION_EVENT_NONE No events occurred. Remove all event registrations for this application.
NOTIFICATION_EVENT_OFF_AC_POWER The user turned the alternating current (AC) power off. (это не то , это отсоединение от БП)
NOTIFICATION_EVENT_ON_AC_POWER The user turned the AC power on.
NOTIFICATION_EVENT_RESTORE_END A full device data restore completed.
NOTIFICATION_EVENT_RS232_DETECTED An RS232 connection was made.
NOTIFICATION_EVENT_SYNC_END Data synchronization finished.
NOTIFICATION_EVENT_TIME_CHANGE The system time changed.
NOTIFICATION_EVENT_TZ_CHANGE The time zone changed.
NOTIFICATION_EVENT_WAKEUP
Остальное только полухакерскими методами, предварительно изучив документацию по Platform Builder и Driver Development, при условии что это не будет нарушать законы физики.
Re: Как перехватить нажатие на кнопку Power на кпк?
Здравствуйте, DmitryM12, Вы писали:
DM>Как перехватить нажатие на кнопку Power на кпк? Надо чтобы вместо выключения питания PDA'ки, выполнялась моя функция. Как это сделать?
DM>PPC 2003, WinCE .NET 4.0 DM>EVC++ 4.0
DM>Спасибо!
вместо не получится никак. можно попытаться сделать перед выключением. и то при условии что твоя функция практически ничего делать не будет. Иначе получишь гарантированное подвисание
Re[2]: Как перехватить нажатие на кнопку Power на кпк?
Здравствуйте, Gandalf_The_Grey, Вы писали:
G_T>Здравствуйте, DmitryM12, Вы писали:
DM>>Как перехватить нажатие на кнопку Power на кпк? Надо чтобы вместо выключения питания PDA'ки, выполнялась моя функция. Как это сделать?
DM>>PPC 2003, WinCE .NET 4.0 DM>>EVC++ 4.0
DM>>Спасибо!
G_T>вместо не получится никак. можно попытаться сделать перед выключением. и то при условии что твоя функция практически ничего делать не будет. Иначе получишь гарантированное подвисание
Можно же получить доступ к другим кнопкам через RegisterHotKey и не давать им отрабатываться. Может эту тоже как-нить хитро перехватывать можно...
Re[3]: Как перехватить нажатие на кнопку Power на кпк?
Здравствуйте, DmitryM12, Вы писали:
G_T>>вместо не получится никак. можно попытаться сделать перед выключением. и то при условии что твоя функция практически ничего делать не будет. Иначе получишь гарантированное подвисание
DM>Можно же получить доступ к другим кнопкам через RegisterHotKey и не давать им отрабатываться. Может эту тоже как-нить хитро перехватывать можно...
Не путай желаемое и действительное
Одно дело кнопка — от которой все равно — запустится что-то или нет, а другое дело кнопка, которая отвечает за выключение.
Просто когда ты ловишь это событие, система уже начала процедуру выключения. И все последовательно это событие обрабатывают. Ты один из многих, а не единственный...
Тут два пути — собрать свою систему из PB или перепаять кнопку, обрабатывать ее и посылать дальше
а если ни один из этих не подходит, то надо мириться, что твое приложение одно среди множества таких же умных
Re[4]: Как перехватить нажатие на кнопку Power на кпк?
Гы если успеть поймать это событие, можна правда быстренко зарегистрировать CeRunAppAtTime или как там ее (по памяти написал), и тогда она быстренько включит девайс обратно , но нехорошо это, девайс успеет мигнуть, и юзер завидев такое, с высокой степенью вероятности потащит его по гаранитии куда-нить.
А при некоторой регулярности подобной "фичи", потащит сто пудово.
Re[5]: Как перехватить нажатие на кнопку Power на кпк?
Здравствуйте, Albedo_0.39, Вы писали:
A3>Гы если успеть поймать это событие, можна правда быстренко зарегистрировать CeRunAppAtTime или как там ее (по памяти написал), и тогда она быстренько включит девайс обратно , но нехорошо это, девайс успеет мигнуть, и юзер завидев такое, с высокой степенью вероятности потащит его по гаранитии куда-нить. A3>А при некоторой регулярности подобной "фичи", потащит сто пудово.
Нельзя. При вызове CeRunAppAtTime при выключении устройство виснет с очень большой степенью вероятности.
Re[5]: Как перехватить нажатие на кнопку Power на кпк?
Здравствуйте, Albedo_0.39, Вы писали:
A3>Гы если успеть поймать это событие, можна правда быстренко зарегистрировать CeRunAppAtTime или как там ее (по памяти написал), и тогда она быстренько включит девайс обратно , но нехорошо это, девайс успеет мигнуть, и юзер завидев такое, с высокой степенью вероятности потащит его по гаранитии куда-нить. A3>А при некоторой регулярности подобной "фичи", потащит сто пудово.