![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Nebus |
|
|||
|
Unregistered |
Помогите пожалуйста!
Программа загружается и работает в фоновом режиме, она ищет в системе (win2k) окно определенной программы и перехватывает все сообщения о нажатии клавиш поступившие данному окну, в сообщении проверяет какая клавиша была нажата, если это F1-F12 (или другие) то сообщение удаляется а окну посылается сообщение о нажатии другой клавиши Q-} например . Укажине основные моменты, если можно кодом на C++ Заранее спасибо всем кто поможет PS пожалуйта непосылайте меня ... |
|||
|
||||
| AndyY |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 8.5.2004 Где: СПб Репутация: 2 Всего: 4 |
Напрашивается решение через хуки.
SetWindowsHookEx( WH_CALLWNDPROC, hook_filter, 0, 0 ); процедуру хука выносим в dll, эта dll будет встроена во все процессы. Когда нужно выйти, вызываем UNhookWindowHookEx(); в параметрах hook фильтру передается handle окна, всегда можно проверить, то ли что нужно. НО! лично я хуки не люблю. Я считаю их достаточно ненадежной техникой. Помниится, у меня были проблемы со скринсейверами, которые напрочь сносили мои хуки. Мое решение было бы таково: Сформировать фильтр непосредственно в адресном пространстве процесса-жертвы, передать управление с использованием функции CreateRemoteThread, в thread подменить оконную процедуру на свой фильтр - и все сообщения железно попадут к нам. подробнее - см. статью про зомбирование процессов на моем сайте - там есть пример. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |