|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.11.2007, 19:10 | #1 |
BootKey Master
Пользователь
Регистрация: 18.11.2007
Сообщений: 12
|
Подмена клавиш
Проблема такая: На ноубук пролил воду, пересала работать буква т. Пытался починить и доломал до конца.
Задача: Нужно перехватывать нажатые правого альта и вместо него нажимать букву т. Ломаю голову 3-й день. В аттаче наработка. Жду предложений, а лучше приложить в аттач готовый исходник. |
18.11.2007, 20:24 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Посмотрите хэлп по "virtualkeycodes".
Код именно правого ALT - VK_RMENU. Правда, брать его надо через GetKeyState или GetAsyncKeyState. |
18.11.2007, 20:28 | #3 |
BootKey Master
Пользователь
Регистрация: 18.11.2007
Сообщений: 12
|
считать я могу, не получается имитировать нажатие. допустим в ворде нажимаю, правый альт, моя программа его считывает и имитирует букву т, а фокус в ворда теряется и т уходит вникуда.
|
18.11.2007, 20:52 | #4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
А если послать мессагу всем открытым окнам?
|
18.11.2007, 20:53 | #5 |
BootKey Master
Пользователь
Регистрация: 18.11.2007
Сообщений: 12
|
а как это реализовать?
|
18.11.2007, 21:09 | #6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
|
18.11.2007, 21:16 | #7 |
BootKey Master
Пользователь
Регистрация: 18.11.2007
Сообщений: 12
|
не нашел там. можешь конкретно написать кусок кода, как послать сообщение всем окнам о нажатии буквы т.
|
18.11.2007, 21:20 | #8 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
|
18.11.2007, 21:30 | #9 |
Пользователь
Регистрация: 10.04.2007
Сообщений: 51
|
вообщем-то ваши архивы не смотрел(может там так и сделано?), но почему бы это не сделать с помощью хука клавы?.... и работать будет коректно и подменять любую клавишу.
e-mail=konkurent@gala.net
isq=498425545 |
18.11.2007, 22:05 | #10 |
BootKey Master
Пользователь
Регистрация: 18.11.2007
Сообщений: 12
|
Делаю так:
PostMessage(HWND_BROADCAST, WM_KEYDOWN, Ord('т'), 0); По идее должно послать букву т всем окнам, но ничего не происходит. Tолько winamp принимает, а ворд и блокнот не принимают konkurent, как с хуком? можешь дать ссылку на конкретный пример? |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Залипание клавиш | RealSHELS | Общие вопросы Delphi | 3 | 07.05.2008 22:47 |
Код клавиш | MAKEDON | Общие вопросы Delphi | 4 | 07.01.2008 13:42 |
Подмена МАК-АДРЕСА | Рустам | Работа с сетью в Delphi | 1 | 18.08.2007 12:32 |
Перехват и подмена кодов клавиш чужого окна | Hedgehog | Безопасность, Шифрование | 3 | 23.04.2007 16:05 |