概述
最近做了一个小工具,可以远程控制锁定和解锁计算机,锁定就是通过禁用鼠标和键盘事件来限制,使用的WINDOWS的HOOK函数,下面分享一下具体的实现方法:
1、首先是两个钩子函数:
HHOOK hook_hwnd_keyboard = NULL;
HHOOK hook_hwnd_mouse = NULL;
HMODULE g_module;
// 鼠标事件
LRESULT CALLBACK MyHookFunMouse(int nCode, WPARAM wParam, LPARAM lParam)
{
// 鼠标所有事件都不处理
return 1;
}
// 键盘事件
LRESULT CALLBACK MyHookFunKeyBoard(int nCode, WPARAM wParam, LPARAM lParam)
{
PKBDLLHOOKSTRUCT pVirKey = (PKBDLLHOOKSTRUCT)lParam;
if (nCode >= 0)
{
// 按键消息
switch (wParam)
{
case WM_KEYDOWN:
case WM_SYSKEYDOWN:
case WM_KEYUP:
case WM_SYSKEYUP:
switch (pVirKey->vkCode)
{
case VK_LWIN:
case VK_RWIN:
return 1;
break;
}
return 1;
break;
}
}
return CallNextHookEx(hook_hwnd_keyboard, nCode, wParam, lParam);
}
2、然后分别把鼠标和键盘这两个函数设置进去;这样就达到了锁定电脑,鼠标和键盘都不可用了;
PS:测试的时候记得两个函数不要同时测,否则就把自己电脑锁死了
hook_hwnd_keyboard = SetWindowsHookEx(WH_KEYBOARD_LL, MyHookFunKeyBoard, g_module, 0);
hook_hwnd_mouse = SetWindowsHookEx(WH_MOUSE_LL, MyHookFunMouse, g_module, 0);
3、取消HOOK函数的设置进行解锁
UnhookWindowsHookEx(hook_hwnd_keyboard);
UnhookWindowsHookEx(hook_hwnd_mouse);
PS: 键盘锁定实现参考与:https://blog.csdn.net/what951006/article/details/79769317;
最后
以上就是淡淡龙猫为你收集整理的C++禁止键盘和鼠标事件的全部内容,希望文章能够帮你解决C++禁止键盘和鼠标事件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复