|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Передать нажатие клавиши с отловом хуком в неактивное окно?
День добрый. Извиняюсь если не та тема, вроде наиболее похожа... ответа в faq или же гугле не нашел ) может и плохо искал, но тем не менее...
Как я уже и сам догадываюсь, это не реально, но хотелось бы все же уточнить... вообщем суть такая... Имеется программа с хуком(доступа к исходникам нет), вызывающая по нажатию f1-f5 определенные действия в определенной программе... (если важно, то это замена данных в определенных ячейках бд) Разумеется, работает только при активном окне с бд(копий может быть запущено несколько)... нужно передать в неактивное окно с бд это самое нажатие, что бы оно поймалось тем самым хуком.. Пробовал создать иллюзию активности окна и через send/post message по хэндлу передать нажатие клавиши... передается нормально, но хуком не хватается... Через keybd_event хуком хватается, но только при активном окне... Подскажите реально ли что нить придумать, и если да то хоть в какую сторону копать... |
#2
|
||||
|
||||
Не понял. Программа с хуком, и при этом F1-F5 работают только в активном окне? Так для активного хук не нужен, все нажатия и так к нему идут. Для чего служит хук, если не для отлова кнопок? В общем опишите, пожалуйста, схему как-нибудь более понятно. В виде
1) Есть программа в N окон, она реагирует на такие-то кнопки. 2) Есть хук, написанный мной/не мной, который перехватывает такие-то события и делает с ними то-то. 3) Надо сделать так, чтоб при нажатии таких-то кнопок происходили такие-то действия в таких-то окнах. В общем как-нибудь понятнее. jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
|||
|
|||
Есть прогамма с хуком, написанная не мной(прошлый админ писал, на скок я в курсе написана си, если имеет значение) работает следующим образом: при работе с бд(оболочка бд так же написана нашей конторкой), при нажатии на f1-f5, хук хватает хэндл текущего окна бд, и выполняет в нем необходимые действия(соответственно нажатой F`ке).
задача: передать нажатие нужной клавиши в нужное окно, что бы хук его схватил и выполнил функцию именно в том окне без фокуса окна бд (хэндл окна известен). |
#4
|
||||
|
||||
Пока что приходит в голову только ручная модификация хука.
jmp $ ; Happy End! The Cake Is A Lie. |
#5
|
|||
|
|||
А написать свою программу, которая будет просто выполнять нужные действия в нужном окне оболочки БД? Или просто прямо в самой БД?
|