dll工程里面写了extern "C" _declspec(dllexport) HHOOK _InstallHook(HWND _hWnd,DWORD _dwMessage);
HHOOK _InstallHook(HWND _hWnd,DWORD _dwMessage)
{
hWnd=_hWnd;
dwMessage=_dwMessage;
hHook=SetWindowsHookEx(WH_KEYBOARD,_HookProc,hInstance,NULL);
return hHook;
}在客户端文件里面写的时候写了typedef int (WINAPI *LPFN)(HWND,DWORD);
LPFN _InstallHook;
hInstDLL=LoadLibrary("KeyHook.dll");
if (hInstDLL==NULL)
return MessageBox(hwnd,"cannot find the KeyHook.dll file","dll error",MB_OK);
_InstallHook=GetProcAddress(hInstDLL,"_InstallHook");
if(_InstallHook==NULL)
EndDialog(hwnd,NULL);
_InstallHook(hwnd,WM_HOOK);//cannot convert from 'int (__stdcall *)(void)' to 'int (__stdcall *)(struct HWND__ *,unsigned long)'尼玛 看dll部分两天了,头大了
我明明导出的时候写了参数,在调用的时候竟然不让用参数
HHOOK _InstallHook(HWND _hWnd,DWORD _dwMessage)
{
hWnd=_hWnd;
dwMessage=_dwMessage;
hHook=SetWindowsHookEx(WH_KEYBOARD,_HookProc,hInstance,NULL);
return hHook;
}在客户端文件里面写的时候写了typedef int (WINAPI *LPFN)(HWND,DWORD);
LPFN _InstallHook;
hInstDLL=LoadLibrary("KeyHook.dll");
if (hInstDLL==NULL)
return MessageBox(hwnd,"cannot find the KeyHook.dll file","dll error",MB_OK);
_InstallHook=GetProcAddress(hInstDLL,"_InstallHook");
if(_InstallHook==NULL)
EndDialog(hwnd,NULL);
_InstallHook(hwnd,WM_HOOK);//cannot convert from 'int (__stdcall *)(void)' to 'int (__stdcall *)(struct HWND__ *,unsigned long)'尼玛 看dll部分两天了,头大了
我明明导出的时候写了参数,在调用的时候竟然不让用参数
调用Dll..........
typedef int (__stdcall *fnInstallHook)(HWND _hWnd,DWORD _dwMessage);
......................
这里是两条下划线把
另外
typedef int (WINAPI *LPFN)(HWND,DWORD);
这里的返回值不一致吧
错误应该在这句吧?
需要强制转换!