请问各路大虾,我碰到一个这样的问题:
1。我想实现只能使用数字键和字母键,利用键盘钩子能获得各键码的键值,
然后只处理数字键和字母键;但是有部分功能键仍然还有原来的功能,如F1,Lwin, Rwin键等,不只为何?
2. 我利用消息钩子,试图通过改变消息来改变功能键原来的功能,但是发现部分功能键仍然改变不了,不止为何?
其中2。的代码如下:
Hook=SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)LauncherHook,theApp.m_hInstance,0);
LRESULT CALLBACK LauncherHook(int nCode,WPARAM wParam,LPARAM lParam)
{
if (nCode==HC_ACTION)
{
PMSG pmsg=(PMSG)lParam;
if (pmsg->message==WM_KEYDOWN)
{
(((PMSG)lParam)->wParam)++;
}
}
return CallNextHookEx(Hook,nCode,wParam,lParam);
}
1。我想实现只能使用数字键和字母键,利用键盘钩子能获得各键码的键值,
然后只处理数字键和字母键;但是有部分功能键仍然还有原来的功能,如F1,Lwin, Rwin键等,不只为何?
2. 我利用消息钩子,试图通过改变消息来改变功能键原来的功能,但是发现部分功能键仍然改变不了,不止为何?
其中2。的代码如下:
Hook=SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)LauncherHook,theApp.m_hInstance,0);
LRESULT CALLBACK LauncherHook(int nCode,WPARAM wParam,LPARAM lParam)
{
if (nCode==HC_ACTION)
{
PMSG pmsg=(PMSG)lParam;
if (pmsg->message==WM_KEYDOWN)
{
(((PMSG)lParam)->wParam)++;
}
}
return CallNextHookEx(Hook,nCode,wParam,lParam);
}
www.aslike.net
现在的问题,不是钩子不成功。而是部分功能键封禁不了。如Lwin,Rwin,Ctrl+alt+del
怎样才能去掉这些功能键,只要去掉一定给分,不够再加