以前写过的一个屏东windows开始键的一个小程序:
在08.3.20又写了一下,因为以前花一个星期网上找代码写的那个给我搞不见了,可惜我还是用到了CCTV(CTRL+C,V,T复制,粘贴,剪)讲明代码有些我自己也不明白的!
1.
用全局键盘低层勾子;这个东西一定要另起一个DLL
2.
那个链遇到开始键后返回1就可以不理会的了!
代码:DLL里的
HOOK.cpp
1.g_hHook=SetWindowsHookEx(WH_KEYBOARD_LL,KeyboardProc,g_hInst,0);
2.LRESULT CALLBACK KeyboardProc(int iCode,
// hook code
WPARAM
wParam,
// virtual-key code
LPARAM lParam // keystroke-message information )
{
KBDLLHOOKSTRUCT *key = (KBDLLHOOKSTRUCT*)lParam;
//下面就是需要响应得键值
switch(key->vkCode)
{
case 91:
case 92:
return 1; //左右WIN键的键值,想屏蔽其他键也可将其键值写在这里,return 1表示屏蔽
default :
return
CallNextHookEx(g_hHook,iCode,wParam,lParam);
//或是return
0
}
}
3.在外面调用:
h=::LoadLibrary(L"DllSetHK.dll");
if (h==NULL)
{
AfxMessageBox(L"error");
}
if (h!=NULL)
{
insthook=(InstHOOK)GetProcAddress(h,"InstallHOOK");
insthook();
}
代码下载(有EXE同DLL):
http://www.cppblog.com/Files/jimsmorong/DllSetHK.rar