救命:帮忙看看在CB中调试不通过的VC下调却通过的代码
纪俊 2003-01-24 08:37:06 BOOL CKeyhook::starthook()
{
BOOL bResult=false;
glhHook=::SetWindowsHookEx(WH_KEYBOARD_LL,KeyProc,glhInstance,0);
if(glhHook!=NULL)
bResult=true;
return bResult;
}
_declspec(dllexport) LRESULT CALLBACK KeyProc(int nCode,WPARAM wParam,LPARAM
lParam)
{
BOOL fEatKeystroke = FALSE;
if(nCode == HC_ACTION)
{
switch (wParam)
{
case WM_KEYDOWN:
case WM_SYSKEYDOWN:
case WM_KEYUP:
case WM_SYSKEYUP:
PKBDLLHOOKSTRUCT p=(PKBDLLHOOKSTRUCT)lParam;
fEatKeystroke=(p->vkCode=VK_TAB);
//MessageBox(NULL,TEXT("ok"),,,MB_OK);
//ShowMessage("ok");
}
}
return(fEatKeystroke?1:CallNextHookEx(glhHook,nCode,wParam,lParam));
}
以上代码在VC下调是通过,在CB5下却提示
Type mismatch in parameter 'lpfn'(wanted 'int(_stdcall*)()',got
'long(_stdcall*)(int,unsigned int,long)')
请高手指点!感激不尽!
还有CB是不是没有析构函数阿?
另外好像LRESULT在CB中是long在VC下却是int,这是怎么回事啊?