Какое сообщение посылается?
От: gAmUssA Россия  
Дата: 17.01.07 12:43
Оценка:
Доброго времени суток...

У меня на ноутбуке есть специальная кнопка, при нажатии на которую запускается специальная софтина (какой-то урезаный вариант Windows Media Center Edition). Недавно я удалил предустановленную windows. соответственно и удалил эту софтину. Никаких утилит по настройке этой кнопки не было. решил написать свою. только вот пока не знаю, как отловить . вернее как отловить знаю, но не знаю что-ловить. Если сообщение (оконное), то может быть кто-нибудь подскжет как это сообщение определить. может кто видел утилу, которая просто умеет ловить все сообщения в системе...

Вообщем, буду благодарен любым идеям, советам, ссылкам, исходникам...
Грузите апельсины бочками...
Re: Какое сообщение посылается?
От: gAmUssA Россия  
Дата: 17.01.07 13:06
Оценка:
Вообщем так...

С использованием утилиты spy++ определил, кнопка посылает сообщение WM_USER+3185.
Продолжаю исследование...
Грузите апельсины бочками...
Re: Какое сообщение посылается?
От: programmater  
Дата: 17.01.07 14:47
Оценка: -1
Здравствуйте, gAmUssA, Вы писали:

AUA>Доброго времени суток...


AUA>У меня на ноутбуке есть специальная кнопка, при нажатии на которую запускается специальная софтина (какой-то урезаный вариант Windows Media Center Edition). Недавно я удалил предустановленную windows. соответственно и удалил эту софтину. Никаких утилит по настройке этой кнопки не было. решил написать свою. только вот пока не знаю, как отловить . вернее как отловить знаю, но не знаю что-ловить. Если сообщение (оконное), то может быть кто-нибудь подскжет как это сообщение определить. может кто видел утилу, которая просто умеет ловить все сообщения в системе...


AUA>Вообщем, буду благодарен любым идеям, советам, ссылкам, исходникам...

Обычно все такие "специальные кнопки "генерируют "эквивалентную комбинацию клавиш", только в "расширенном виде". Что это я сейчас объясню. Так работают и цифровая клавиатура, и кнопка Context, и кнопка Windows, и клавиши управления медиаплеером в новомодных клавиатурах. Теперь что такое "в расширенном виде". Для этого спустимся в "низкоуровневое программирование" . Что такое scan-код знаешь? А что такое код нажатия/код отпускания? Если знаешь — очень хорошо, слухай сюды. Если не знаешь — забей и переходи к следующему абзацу. Так вот, признаком "расширенности" выступают байты E0 и E1, посылаемые клавиатурой перед сканкодом. Причем посылаются эти байты как перед кодом нажатия, так и перед кодом отпускания. В результате нажатие/отпускание таких кнопок, как context и windows приводят к генерации восьми прерываний от клавиатуры и посылки восьми байт. Последовательность выглядит примерно нак: E0 <scan-код кнопки ctrl> E0 <код кнопки (типа F10)> E0 <код отпускания (типа F10)> E0 <код отпускания ctrl>. Наверное твоя "специальная кнопка" работает по похожему принципу.

К чему то бишь я? А к тому, что тебе наверняка придет какой-то "эквивалентный WM_KEYDOWN" (как на кнопку windows приходит <ctrl>+<esc>) попробуй его отловить, может поможет.
Re[2]: Какое сообщение посылается?
От: CEMb  
Дата: 18.01.07 07:47
Оценка:
Здравствуйте, gAmUssA, Вы писали:

AUA>Вообщем так...


AUA>С использованием утилиты spy++ определил, кнопка посылает сообщение WM_USER+3185.

AUA>Продолжаю исследование...

А кнопка на ноуте где? Может WM_KEYDOWN, если это клавиатура...
Может написать хука клавиатурного да посмотреть? (а можно и спаем..., возьмите Voyeur, заодно потестите )
Может WM_USER+3185 — это дело рук какого-нибудь лайера/драйвера/незнаюещёчего?
И кому это WM_USER+3185 тогда предназначалось раньше, кто запускал плеер?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.