最近做了一个小工具,可以远程控制锁定和解锁计算机,锁定就是通过禁用鼠标和键盘事件来限制,使用的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++禁止键盘和鼠标事件相关推荐

  1. 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版

    VNC Viewer for Mac是一款运行在Mac平台上的远程桌面工具,vnc viewer mac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简单,功能实用. VNC Viewer ...

  2. winform中键盘和鼠标事件的捕捉和重写(转)

    在 编写winform应用程序时,有时需要无论在哪个控件获取焦点时,对某一个键盘输入或者鼠标事件都进行同样的操作.比如编写一个处理图片的应用程序时, 希望无论当前哪个控件获得焦点,当用户按上.下.左. ...

  3. android详细解释键盘和鼠标事件

    目的:通过全面的分析Android的鼠标和键盘事件.了解Android中如何接收和处理键盘和鼠标事件,以及如何用代码来产生事件. 主要学习内容: 1. 接收并处理鼠标事件:按下.弹起.移动.双击.长按 ...

  4. golang调用sdl2,键盘和鼠标事件

    golang调用sdl2,键盘和鼠标事件 win10 x64下测试成功,其他操作系统下不保证成功. 采用的是syscall方式,不是cgo方式. 见地址 代码用golang编写.代码如下: packa ...

  5. 键盘和鼠标事件中按键的数字是多少呢?event.which

    event.which 针对键盘和鼠标事件,这个属性能确定你到底按的是哪个键. <!DOCTYPE html> <html> <head><script sr ...

  6. Selenium2学习(八)-- 操作元素(键盘和鼠标事件)

    前言 在前面的几篇中重点介绍了一些元素的到位方法,到位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素 ...

  7. python函数调用键盘热键_Tkinter对键盘和鼠标事件的处理

    所谓event事件就是程序上发生的事.例如用户敲击键盘上的某一个键或是点击移动鼠标.而对于这些事件,程序需要做出反应. Tkinter提供的组件通常都包含许多内在行为,例如当按钮被点击时执行特定操作或 ...

  8. html选择按键点击后锁死输入框_js Dom为页面中的元素绑定键盘或鼠标事件

    html鼠标事件 onload 页面加载 onclick 鼠标单击 onmouSEOver 鼠标移入 onmouSEOut 鼠标移出 onfocus 获取焦点 onblur 失去焦点 onchange ...

  9. 计算机二级vb程序设计教程第10章键盘与鼠标事件

    本章介绍和键盘鼠标有光的事件过程 KeyPress事件 当压下键盘上的某个键的时候,将发生KeyPress事件 精确描述: 按下某个键,我们将触发此时拥有焦点的KeyPress 事件. 输入焦点只能位 ...

  10. 禁止程序接收鼠标事件的工具_报表工具html事件--鼠标悬停出现提示信息

    概述 – 提示:指启示,提起注意或给予提醒和解释. 在 excel 中会经常用到给某个格子增加提醒信息,比如金额提示输入数值或最大长度值等等.设置方式也有多种,简单的,仅为单元格插入批注就可以了,也有 ...

最新文章

  1. 自定义View(二),强大的Canvas
  2. python基础语法手册format-python基础_格式化输出(%用法和format用法)
  3. VS2017 安装,建议大家都看一下这个在卸载,真人真事,防止扑街
  4. python--open用法
  5. 开发中我们谈的产品化是什么?阿里是怎么看待产品化?
  6. iOS-最全的App上架教程
  7. WPF中MVVM模式(简略介绍)
  8. JFinal上传文件时用getFile()方法报错
  9. 【CS231n_2017】1-Introduction to CNN for Visual Recognition
  10. java 第三方jar推荐_java 开发第三方Jar包
  11. SPSS基础操作(一):用幂指数型的权函数建立加权最小二乘回归方程
  12. 语法错误 : 缺少“;”(在“*”的前面)_学科教学不能缺少生本意识
  13. k8s高可用多节点master搭建
  14. python-图像处理-计算机视觉基础-numpy-pandas-PIL
  15. 连接手表_用EMUI11连接华为手机与手表 出门不用全程盯着手机
  16. 伤寒杂病论.辨阳明病脉证并治
  17. DNF纯图色起号源码
  18. Java8之Lambda函数式编程(一)
  19. python2.xhe 3.x区别
  20. 统计学的Python实现-009:四分位数

热门文章

  1. T2695 桶哥的问题——吃桶
  2. 人在囧途之tar命令
  3. 工作汇报计时器小工具介绍
  4. Obsidian基本使用
  5. android导出微信朋友圈怎么发文字,微信朋友圈气泡字怎么弄 微信朋友圈气泡文字生成教程...
  6. opencv-11-中值滤波及自适应中值滤波
  7. 华为员工工资曝光:入职12年月薪31万,小编我瑟瑟发抖
  8. 学习python第八节课:可变与不可变对象
  9. [云原生专题-45]:Kubesphere云治理-基于Kubernetes 构建的企业级容器平台简介与总体架构
  10. python post请求头部伪装随机(防止封ip)