Вопрос № 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)
Но приложение воспринимает только спец. клавиши. Буквы и цифры не проходят.
Поясните как ещё можно отправить сообщение или может какой-нибудь параметр не указал :( .
Спасибо за внимание. :)
Отвечает: 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