Доброго времени суток...
У меня на ноутбуке есть специальная кнопка, при нажатии на которую запускается специальная софтина (какой-то урезаный вариант Windows Media Center Edition). Недавно я удалил предустановленную windows. соответственно и удалил эту софтину. Никаких утилит по настройке этой кнопки не было. решил написать свою. только вот пока не знаю, как отловить . вернее как отловить знаю, но не знаю что-ловить. Если сообщение (оконное), то может быть кто-нибудь подскжет как это сообщение определить. может кто видел утилу, которая просто умеет ловить все сообщения в системе...
Вообщем, буду благодарен любым идеям, советам, ссылкам, исходникам...
Вообщем так...
С использованием утилиты spy++ определил, кнопка посылает сообщение WM_USER+3185.
Продолжаю исследование...
Здравствуйте, 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>) попробуй его отловить, может поможет.
Здравствуйте, gAmUssA, Вы писали:
AUA>Вообщем так...
AUA>С использованием утилиты spy++ определил, кнопка посылает сообщение WM_USER+3185.
AUA>Продолжаю исследование...
А кнопка на ноуте где? Может WM_KEYDOWN, если это клавиатура...
Может написать хука клавиатурного да посмотреть? (а можно и спаем..., возьмите Voyeur, заодно потестите

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