LRESULT CALLBACK KeyboardProc(int nCode,WPARAM wParam,LPARAM lParam)
{
BOOL fEatKeystroke = FALSE;
LRESULT Result = CallNextHookEx(Hook,nCode,wParam,lParam);
if(nCode==HC_ACTION)
{
if(lParam & 0x80000000)
{
if ((wParam >=0X70) && (wParam<=0X7B))
{
fEatKeystroke = TRUE;
}
}
}
return (fEatKeystroke?TRUE:Result);
}
上面的函数执行一切正常,钩子运行也正常,我要评比F1-F12的键,通过检查,程序已经成功执行到了fEatKeyStroke = TRUE这里,但是问题来了,虽然截获了这个键,但是却屏蔽不了这个键,我按F1,截获成功,执行我自己定的操作,然后他还是会弹出当前程序的帮助文档,我应该怎么做?return true不灵a
{
BOOL fEatKeystroke = FALSE;
LRESULT Result = CallNextHookEx(Hook,nCode,wParam,lParam);
if(nCode==HC_ACTION)
{
if(lParam & 0x80000000)
{
if ((wParam >=0X70) && (wParam<=0X7B))
{
fEatKeystroke = TRUE;
}
}
}
return (fEatKeystroke?TRUE:Result);
}
上面的函数执行一切正常,钩子运行也正常,我要评比F1-F12的键,通过检查,程序已经成功执行到了fEatKeyStroke = TRUE这里,但是问题来了,虽然截获了这个键,但是却屏蔽不了这个键,我按F1,截获成功,执行我自己定的操作,然后他还是会弹出当前程序的帮助文档,我应该怎么做?return true不灵a
解决方案 »
- #define DFP_GET_VERSION 0x00074080是什么意思呢?
- 串口接收函数运行2小时左右死机
- 我点击A Btn,想修改B btn的背景图,有API函数不,怎么弄呀
- 请问ivt Bluesoleil蓝牙问题
- 请教WNetAddConnection的用法
- list问题 急盼答案 在线等待
- 如何判断一段字符是什么操作系统的内码?
- CMap中的Key只能用primitive类型吗?
- 一个程序如何向外提供接口(API)?
- -------------help--------ABOUT ACM---------------
- 怎么样点击菜单后出现对话框
- activex 开发问题,能能给点建议?不胜感激.
这个判断显然有问题
iSC = pKey->scanCode;
...if(iVK==91 && iSC==91) return -1; // LEFT WIN
if(iVK==92 && iSC==92) return -1; // RIGHT WIN
if(iVK==93 && iSC==93) return -1; // RIGHT MOUSE KEY
if(iVK==164 && iSC==56) return -1; // ALT
if((iVK>=112 && iVK<=113))return -1; // F1~F2
if(iVK==115) return -1; // F4
if((iVK>=117 && iVK<=118)) return -1; // F6~F7
if((iVK>=120 && iVK<=123))return -1; // F6~F12
if(iVK==9 && iSC==15) return -1; // TAB KEY
if(iVK==27 && iSC==1) return -1; // ESC KEY
你这里都已经传给下一层钩子了你还怎么屏蔽呢?
BOOL fEatKeystroke = FALSE;
if(nCode==HC_ACTION)
{
if(lParam & 0x80000000)
{
if ((wParam >=0X70) && (wParam<=0X7B))
{
fEatKeystroke = TRUE;
}
}
}
return (fEatKeystroke?TRUE:CallNextHookEx(Hook,nCode,wParam,lParam));
http://www.bczs.net/xml/2006/4/24/4708810.xml