Создал dll в которой находится функция "test".
Посредствам LoadLibrary библиотека подключается, но GetProcAddress(hHookDll,"test") возврашает 0. Подскажите в чем проблема.
Заранее спасибо.
Здравствуйте, Kiril_Kuchereavyi, Вы писали:
KK>Создал dll в которой находится функция "test". KK>Посредствам LoadLibrary библиотека подключается, но GetProcAddress(hHookDll,"test") возврашает 0. Подскажите в чем проблема. KK>Заранее спасибо.
Скорее всего твоя функция в dll названа т.н. "декорированным именем", и функции "test" там нет, а есть что-либо вроде "_test@0" (зависит от calling convention). Чтобы этого не происходило, можно, например, при создании dll линкеру указать /EXPORT:test (это для VC++)
Здравствуйте, Kiril_Kuchereavyi, Вы писали:
K_K>Создал dll в которой находится функция "test". K_K>Посредствам LoadLibrary библиотека подключается, но GetProcAddress(hHookDll,"test") возврашает 0. Подскажите в чем проблема.
Проблема, как обычно, в имени. Посмотри depends'ом, что там на самом деле проэкспортировалось, и напиши настоящее декорированное имя (_test@4 или что-то в этом роде), а не test.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, Patalog, Вы писали:
P>Здравствуйте, Kiril_Kuchereavyi, Вы писали:
P>[]
P>1. И самое главное — что возвращает GetLastError.
P>Мучают меня смутные подозрения, что тебе нужно def файл написать.
Спасибо, def помог.
Возник еше один вопрос:
Я создаю хук с помощью функции из dll
(SetWindowsHookEx(&H3, hpHookProc,hHookDll,rv)).
Могу я в этой функции (hpHookProc), которая находится в dll, получить хэндл окна, из которого была вызвана эта функция ?