Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как функции-хуку общалься с прогой установившей хук?


4yguk ©   (2003-05-04 19:43:00) 

тут такое дело: установил я хук на нажатие кнопки, все хорошо, все работает, но один косяк: надо мне сообщить установившей программе, что была нажата нужжая клавиша, их сочетание (Ex:ctrl+a), для этого я в своей программе нарисовал функцию в качестве параметра получающую код клавиши, и из длл-ки ее по указателю вызываю, и все роботает пока проложение, установившее хук активно, но как только становится неактивным, ентот самый указатель становится NULL и соответственно функция не вызывается (а хук прекрасно работает). Самое интересное, что как только приложение вновь становится активным, указатель на функцию прекращает быть NULL и все опять работает.

А мне нада шоб все работало и когда прога не активна....

короче посоветуйте, че-нить путное


Diamond Cat   (2003-05-05 14:12:00) [1]

непонятно почему указатель становиться равным 0 (может с хукомчто не так) ну да ладно, в твоем случае проще обойтись sendmessage твоему окну, и не городить огород с файлом в памяти


wal   (2003-05-05 10:59:00) [2]


> тут такое дело: установил я хук на нажатие кнопки, все хорошо,
> все работает, но один косяк: надо мне сообщить установившей
> программе, что была нажата нужжая клавиша, их сочетание
> (Ex:ctrl+a),

А не проще ли данную конкретную задачу решить с помощью RegisterHotKey?
С уважением.


Ihor Osov'yak   (2003-05-05 00:34:00) [3]

Delphi\Demos\Ipcdemos - один из вариантов взаимодействия процессов.. Немного накрученный, но разобраться и упростить можно..

Но, имхо, есть один момент, который 4yguk не совсем четко представляет себе.. DLL хука отображается на каждый процесс, но адресные пространства процесов разделены - то есть каждое отражение работает со своими даными. То есть, установка callback функции для одного процесса (в пределах своей программы) никакого влияния на другие процессы (чужие программы) не имеет.
4yguk это наблюдал, но выводы были сделаны не верные..


Юрий Зотов   (2003-05-04 22:28:00) [4]

На этом сайте, раздел "Статьи", автор - Алексей Павлов.


4yguk   (2003-05-04 20:11:00) [5]

а где статья-то, поиск по сайту результатов не дал...


Song   (2003-05-04 19:51:00) [6]

memorymapping
В статье есть примеры.


Наверх

Титульная страница Поиск, карта сайта Написать письмо