- UID
- 3169
注册时间2005-9-17
阅读权限20
最后登录1970-1-1
以武会友
该用户从未签到
|
感谢我的好友Jampe
HOOK部分代码,没有什么技术含量
- /*--------------------------------------------------------------------*
- * Win键屏蔽 *
- * qxtianlong *
- * 只是我研究学习之用 *
- * 无聊之作 *
- * 2006/12/27 *
- * 如果有任何问题可以给我Email:[email protected] *
- * 感谢所有帮助过我的朋友 *
- * 第二人生俱乐部 *
- *---------------------------------------------------------------------*/
- #define _WIN32_WINNT 0x0400 //使用PKBDLLHOOKSTRUCT结构必须包含
- #include <Windows.h>
- #include "hook.h"
- HINSTANCE g_hInstance;
- HHOOK g_hKeyboard;
- //消息处理
- LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
- {
- PKBDLLHOOKSTRUCT pKey;
- switch(nCode)
- {
- case HC_ACTION:
- {
- pKey = (PKBDLLHOOKSTRUCT)lParam;//初始化对象
- switch(wParam)
- {
- case WM_KEYDOWN:
- case WM_SYSKEYDOWN:
- case WM_KEYUP:
- case WM_SYSKEYUP:
- {
- if((pKey->vkCode == VK_LWIN) || (pKey->vkCode == VK_RWIN))//屏蔽win键
- {
- return TRUE;
- }
- }
- break;
-
- default:
- {
- //什么都不干
- }
- break;
- }
-
- }//HC_ACTION
-
- default:
- {
- //什么都不干
- }
- break;
- }
- return CallNextHookEx(g_hKeyboard,nCode,wParam,lParam);//传给系统继续处理
- }
- //初始化钩子
- void __declspec(dllexport) InitHOOK()
- {
- g_hKeyboard = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, g_hInstance, 0);//安装钩子
- }
- //卸载钩子
- void __declspec(dllexport) StopHOOK()
- {
- UnhookWindowsHookEx(g_hKeyboard);//卸载钩子
- }
- //主函数
- BOOL WINAPI DllMain(HINSTANCE hinstDLL,
- DWORD fdwReason,
- LPVOID lpvReserved)
- {
- g_hInstance = hinstDLL;//保存实例
- switch(fdwReason)
- {
- case DLL_PROCESS_ATTACH:
- {
- }
- break;
- case DLL_THREAD_ATTACH:
- {
- }
- break;
- case DLL_THREAD_DETACH:
- {
- }
- break;
- case DLL_PROCESS_DETACH:
- {
- }
- break;
- }
- return TRUE;
- }
复制代码 |
-
-
Win.rar
13 KB, 下载次数: 0, 下载积分: 飘云币 -2 枚
asm
|