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

RusFAQ.ru: Win API


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

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

Выпуск № 323
от 16.10.2006, 20:05

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


Вопрос № 58506: Здравствуйте, Уважаемые Эксперты. Отправляю ссобщение приложению: SendMessage (hwnd, WM_KEYDOWN, CodeKeyb, 0) или PostMessage (hwnd, WM_KEYDOWN, CodeKeyb, 0) Но приложение воспринимает только спец. клавиши. Буквы и цифры не проход...

Вопрос № 58.506
Здравствуйте, Уважаемые Эксперты.
Отправляю ссобщение приложению:
SendMessage (hwnd, WM_KEYDOWN, CodeKeyb, 0)
или
PostMessage (hwnd, WM_KEYDOWN, CodeKeyb, 0)
Но приложение воспринимает только спец. клавиши. Буквы и цифры не проходят.
Поясните как ещё можно отправить сообщение или может какой-нибудь параметр не указал :( .
Спасибо за внимание. :)
Отправлен: 11.10.2006, 12:36
Вопрос задал: Чурсанов Евгений Ильич (статус: Студент)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Sergey A. Wedensky
Здравствуйте, Чурсанов Евгений Ильич!

Думаю, дело в том, что функция TranslateMessage, присутствующая в большинстве случаев в очереди обработки сообщений, преобразует пары WM_KEYDOWN/WM_KEYUP для неспециальных клавиш (как раз Ваши буквы и цифры) в сообщения WM_CHAR.
Я бы посоветовал посылать парные WM_KEYUP (или сразу WM_CHAR, если не интересуют всякие Alt'ы и пр.).
Еще можно обратить внимание на параметр LPARAM, в котором присутствует дополнитеьлная информация о предыдущем состоянии клавиши и др., которая также может использоваться.
Ответ отправил: Sergey A. Wedensky (статус: 5-ый класс)
Ответ отправлен: 11.10.2006, 13:00

Отвечает: ENS
Здравствуйте, Чурсанов Евгений Ильич!
Можно поробовать WM_CHAR, без всяких там прибамбасов. TranslateMessage все ровно преобразует любое нажатие на клавишу в WM_CHAR и не совсем понятно каким образом.

---------
Если нет выхода ищу вход.
Ответ отправил: ENS (статус: 6-ой класс)
Ответ отправлен: 11.10.2006, 20:04

Отвечает: Monah
Здравствуйте, Чурсанов Евгений Ильич!
ИХМО Надо тправлять по очереди wm_keydown/wm_keyApp
Ответ отправил: Monah (статус: 3-ий класс)
Ответ отправлен: 11.10.2006, 20:40


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное