Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 119
от 31.08.2005, 18:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 253, Экспертов: 25
В номере:Вопросов: 1, Ответов: 1


Вопрос № 25360: Здравствуйте уважаемые эксперты. Пытаюсь обработать нажатие мультимедийных клавиш. С получением кода проблем нет - установил глобальный хук WH_GETMESSAGE. Но windows тоже обрабатывает нажатие таких клавиш, вследствие чего мне необходимо удалить т...

Вопрос № 25.360
Здравствуйте уважаемые эксперты.
Пытаюсь обработать нажатие мультимедийных клавиш. С получением кода проблем нет - установил глобальный хук WH_GETMESSAGE. Но windows тоже обрабатывает нажатие таких клавиш, вследствие чего мне необходимо удалить такое сообщение из очереди. Пробую удалять:
MSG *msg = (MSG*)lParam;
if((msg->message == WM_KEYDOWN) || (msg->message == WM_KEYUP ))
{
msg->message = WM_APP;
}
При таком способе удаляются все клавиатурные сообщения кроме мультимедийных, т.е. видимо помимо WM_KEYDOWN и WM_KEYUP при нажатии м-а кл-ш посылается еще какое-то сообщение(может сообщения). Всвязи с этим вопрос не знаете ли вы какое именно сообщение необходимо отслеживать, либо как можно определить что за это сообщение? Также выяснил, что нажатие м-а кл-ш можно эмулировать с помощью keybd_event(код_клавиши,0,0,0)..., но не SendMessage(hwnd,WM_KEYDOWN,код_клавиши,0)...и прочие варианты...
И еще, как "правильнее" удалять сообщения из очереди?
Большое спасибо.
Отправлен: 26.08.2005, 18:34
Вопрос задал: Ivaan (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Denisss
Здравствуйте, Ivaan!
Кроме сообщений WM_KEYDOWN и WM_KEYUP есть еще два: WM_SYSKEYDOWN (0х0104) и WM_SYSKEYUP (0х0105) - попробуйте обработать и их.
Ответ отправил: Denisss (статус: Студент)
Отправлен: 27.08.2005, 12:16


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.winapifaq
Отписаться
Вспомнить пароль

В избранное