Здравствуйте,
преамбула:
есть DLL, написанная на VC++. эта dll экспортирует одну функцию вида HookMouse(long hWnd,long hHook)
DLL симулирует "мышинные" события на обьекте с указанным hWnd.
амбула:
при попытке установки хука выдает: "Access violation at address <> in 'user32.dll'"
вот код:
Unit.cpp:
HHOOK hHook;
void __fastcall TForm1::FormShow(TObject *Sender)
{
HINSTANCE Dll=LoadLibrary("Hook.dll");
if (Dll)
{
HookMouse=(HookMouseType *)GetProcAddress(Dll,"MouseHook");
if(HookMouse)
{
hHook=SetWindowsHookEx(WH_MOUSE,(HOOKPROC)HookMouse,Dll,0);
HookMouse((long)Form1->Handle,(long)hHook); // на этой строчке выскакивает Access violation
} else ShowMessage("нет функции");
} else ShowMessage("нет dll");
}
Unit.h
private:
typedef void* __declspec(dllimport) HookMouseType(long hWnd, long hHook);
HookMouseType *HookMouse;
где ошибка?
помогите, пожалуйста