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

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

Системная ловушка [D6, WinXP]


Genocid ©   (2004-11-02 17:17:00) 

Есть программа и динамическая библиотека, в которой заускается ловушка:
SetWindowsHookEx(WM_KEYBOARD, @HookProc, HInstance, 0)

Функция HookProc соответственно находится в этой же библиотеке:
function HookProc(code : integer; wParam : word; lParam : longint) : longint;

Сама функция работает корректно, то есть получает нужные сообщения, но
если в ее тело включить код вызова процедуры главной программы, то выполнение
функции прерывается на моменте вызова этой самой процедуры! И после этого
функция больше не обрабатывает пришедшие сообщения ловушки...

Подскажите, из-за чего это происходит и как это можно решить?

Да! Еще эта проблемная функция не присваивает значения глобальным переменным...


Genocid   (2004-11-02 21:33:00) [1]

Ага, понял, спасибо...


Юрий Зотов   (2004-11-02 21:06:00) [2]

И не забудьте про stdcall.


Cobalt   (2004-11-02 19:59:00) [3]

1) Это из-за того, что в АП другого процесса внедрена только длл-ка, но не твой exe-ник.
2) Почитай сначала статью тут на сайте (см. список ссылок вверху страницы).


Наверх

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