如何用c语言锁住键盘和鼠标,API----如何锁定键盘和鼠标

在工业自动化领域中,经常遇到要求锁定键盘鼠标的要求,防止无关人员误操作造成事故.

锁定鼠标比较简单,有多种方法:

一:利用API函数ShowCursor.

对于每个WINDOWS窗口,系统都负责维护一个鼠标时针计数器,当这个计数器值小于0时,隐藏鼠标时针,针对当前窗口,对其他窗口不起作用.这不是一个非常好的方法,因为它只不显示鼠标指针了,但还是起作用,如果有人胡乱按下鼠标,就可能触发鼠标事件.

Public Declare Function ShowCursor Lib "user32" Alias "ShowCursor" (ByVal bShow As Long) As Long

返回值是当前鼠标指针计数器的值,bShow=0是HIDE,bShow!=0,Display.

二:利用ClipCursor API

这个API函数是全局的,它可以把鼠标指针限定在一个特定区域里,以像素点为单位.

Public Declare Function ClipCursor Lib "user32" Alias "ClipCursor" (lpRect As Any) As Long

ClipCursor(0,0,0,0); 则鼠标指针固定在左上角点.

三:利用BlockInput API,它封锁了全部的鼠标键盘操作.

它的问题是如果同时按下,ALT+CTRL_DEL,则自动解除锁定

四:利用EnableWindow API,可以禁止鼠标键盘对窗口的操作,只禁止自己的窗口.

Public Declare Function EnableWindow Lib "user32" Alias "EnableWindow" (ByVal hwnd As Long, ByVal fEnable As Long) As Long

这个函数需要前面板的窗口句柄,我的一篇日志专门提到如何获得窗口句柄.

五:一般的主板上都有键盘锁定连接器,只要引出连接一个按钮(工业控制计算机一般都引出),就可以彻底禁止键盘的操作,加上前面的鼠标禁止操作,就可以完全禁止非法用户操控计算机了.

六:看过介绍,通过修改注册表可以软件禁止ALT_CTRL_DEL,我没实验过,不知道是否可以.

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值