搞定计时作业,Linux利用钩子技术禁用鼠标键盘轻松实现! (linux利用钩子技术禁用鼠标键盘)

在日常使用计算机的过程中,很多时候我们需要进行计时,例如做作业、考试、使用计时器等等。对于一些特定的情境和场合,需要对计时过程进行限制,以确保计时的公正和准确性。其中的限制方式之一就是禁用鼠标和键盘。

如果你是一名Linux用户,那么钩子技术是一个非常好的选择,通过它可以轻松实现对计时过程的控制,下面我们来详细了解一下。

一、什么是钩子技术?

钩子技术是一种操作系统级别的编程技术,它可以在某些特定的事件发生时拦截这些事件,并在这些事件发生时执行相应的操作。一般而言,钩子技术分为系统级钩子和应用级钩子。

系统级钩子允许程序截获和处理整个系统级别的事件,包括键盘和鼠标输入事件、窗口消息、网络事件、定时器事件等等。而应用级钩子则允许程序截获和处理某个特定应用程序的事件,比如截获特定程序的按键事件或鼠标事件。

钩子技术在很多场合下都有着广泛的应用,比如游戏外挂、数据监控、键盘记录等。

二、禁用鼠标和键盘

禁用鼠标和键盘是开发钩子技术的一项常见操作。在Linux系统中,禁用鼠标和键盘需要用到Xorg服务器。Xorg服务器是一个显示服务,它把计算机的屏幕和输入设备集成在一起,负责显示和输入的工作。

在Linux系统中,可以通过Xorg服务器的输入扩展Xi2的接口来注册钩子。Xi2可以截获所有输入设备上的事件,以实现禁用鼠标和键盘的功能。具体实现可以参考代码:

“`c

#include

#include

static int xi_opcode = -1;

Display *xserver_display;

int mn()

{

xserver_display = XOpenDisplay(0);

if (!xserver_display) {

printf(“Could not open Display\n”);

return 1;

}

int query_result = XQueryExtension(xserver_display, “XInputExtension”,

&xi_opcode, &xi_opcode, &xi_opcode);

if (query_result != Success) {

printf(“XInput extension not avlable\n”);

XCloseDisplay(xserver_display);

return 1;

}

XIEventMask event_mask;

unsigned char mask_bits[XIMaskLen(XI_LASTEVENT)];

memset(mask_bits, 0, sizeof(mask_bits));

XISetMask(mask_bits, XI_KeyPress);

XISetMask(mask_bits, XI_KeyRelease);

XISetMask(mask_bits, XI_ButtonPress);

XISetMask(mask_bits, XI_ButtonRelease);

XISetMask(mask_bits, XI_Motion);

event_mask.deviceid = XIAllMasterDevices;

event_mask.mask_len = sizeof(mask_bits);

event_mask.mask = mask_bits;

XISelectEvents(xserver_display, DefaultRootWindow(xserver_display),

&event_mask, 1);

XEvent event;

while (1) {

XNextEvent(xserver_display, &event);

switch(event.type) {

case GenericEvent:

if (event.xcookie.extension == xi_opcode &&

XGetEventData(xserver_display, &event.xcookie)) {

printf(“Event from device %d (type %d), detl %d\n”,

event.xcookie.evtype, event.xcookie.extension,

event.xcookie.data);

XFreeEventData(xserver_display, &event.xcookie);

}

break;

default:

printf(“Unhandled event type: %d\n”, event.type);

break;

}

}

XCloseDisplay(xserver_display);

return 0;

}

“`

上述代码通过调用XInput2的接口来注册事件掩码,截获输入设备上的事件,并输出事件类型和详细信息。如果要实现禁用鼠标和键盘的功能,可以将这部分代码改为以下内容:

“`c

while (1) {

XNextEvent(xserver_display, &event);

switch(event.type) {

case GenericEvent:

if (event.xcookie.extension == xi_opcode &&

XGetEventData(xserver_display, &event.xcookie)) {

if (event.xcookie.evtype == XI_ButtonPress ||

event.xcookie.evtype == XI_ButtonRelease ||

event.xcookie.evtype == XI_KeyPress ||

event.xcookie.evtype == XI_KeyRelease) {

printf(“Blocked event from device %d (type %d), detl %d\n”,

event.xcookie.deviceid, event.xcookie.evtype,

event.xcookie.data);

XAllowDeviceEvents(xserver_display, event.xcookie.deviceid,

AsyncThisDevice, CurrentTime);

XFreeEventData(xserver_display, &event.xcookie);

}

}

break;

default:

printf(“Unhandled event type: %d\n”, event.type);

break;

}

}

“`

上述代码截获输入设备的按键和鼠标事件,并将事件转化为异步设备事件,从而实现了禁用鼠标和键盘的功能。

三、

相关问题拓展阅读:

键盘禁用怎么处理?

笔记本电脑键盘禁用了怎么办

进入设备管理器:右键打击“我的电脑”左键单击“属性”选项,在系统属性界面左键单击“硬件”选项然后左键单击下面的“设备管理器”进入设备管理器。

驱动安装(一):在设备管理器里面找到键盘选项,点开前面“+”,右键单击里岁缓困面的小键盘图标,左键单击更新驱动程序进入硬件更新向导页面。选择下面的从列表或指定位置安装然后单击下一步,之后选择“不要搜索,我要自己选择要安装的驱动程序”单击“下一步”选择驱动程序。

驱动安装(二):进入选择驱动页面把“选择兼容硬件”选项前方框内的勾号点掉,选择一个不是你这个电脑牌子的驱动点击下一步,这里系统回跳出一个不推荐安装的提示,选择是继续安装,然后出现无法启用这个硬件,点完成。 如果不哪键是无法启用你再去换一个驱动换到无法启用就可以了。然后重启一下计算机,OK,它已经无法工作了,然后你就可以插入外接键盘使用了。

关于恢复:恢复很简单,重复上面的步骤做到选择驱动的时候,在兼容性驱动里面找一个安装好重启下计算机就恢复了。

win7怎么将键盘禁用了

Win 7服务详解及其建议

Adaptive Brightness

监视氛围光传感器,以检测氛围光的变化并调节显示器的亮度。如果此服务停止或被禁用,显示器亮度将不根据照明条件进行调节。

该服务的默认运行方式是手动,如果你没有使用触摸屏一类的智能调节屏幕亮度的设备,该功能就可以放心禁用。

Application Experience

在应用程序启动时为应用程序处理应用程序兼容性缓存请求。

该服务的默认运行方式是自动,建议手动。

Application Information

使用辅助管理权限便于交互式应用程序的运行。如果停止此服务,用户将无法使用辅助管理权限启动应用程序,而执行所需用户任务可能需要这些权限。

该服务的默认运行方式是手动,不建议更改。

Application Layer Gateway Service

为 Internet 连接共享提供第三方协议插件的支持

如果装有第三方防火墙且不需要用ICS方式共享上网,完全可以禁用掉。

Application Management

为通过组策略部署的软件处理安装、删除以及枚举请求。如果该服务被禁用,则用户将不能安装、删除或枚举通过组策略部署的软件。如果此服务被禁用,则直接依赖于它的所有服务都将无法启动。

该服务默认的运行方式为手动,该功能主要适用于大型企业环境下的集中管理,因此家庭用户可以放心禁用该服务。

Ati External Event Utility

装了ATI显卡驱动的就会有这个进程,建议手动。

Background Intelligent Transfer Service

使用空闲网络带宽在后台传送文件。如果该服务被禁用,则依赖于 BITS 的任何应用程序(如 Windows Update 或 MSN Explorer)将无法自动下载程序和其他信息。

这个服务的主要用途还是用于 进行WindowsUpdate或者自动更新,如果是采用更新包来更新的话,完全可以乎念禁用。

Base Filtering Engine

基本筛选引擎(BFE)是一种管理防火墙和 Internet 协议安全(IPsec)策略以及实施用户模式筛选的服务。停止或禁用 BFE 服务将大大降低系统的安全。还将造成 IPsec 管理和防火墙应用程序产生不可预知的行为。同样为系统防火墙,VPN以及IPsec提供依赖服务,同时也是系统安全方面的服务,如果使用第三方VPN拨号软件并且不用系统的防火墙以及ICS共享上网,为了系统资源,关闭它吧,否则就别动它。

BitLocker Drive Encryption Service

BDESVC 承载 BitLocker 驱动器加密服务。BitLocker 驱动器加密为操作系统提供安全启动保障,并为 OS、固定卷和可移动卷提供全卷加密功能。使用此服务,BitLocker 可以提示用户执行与已安装卷相关的各种操作,并自动解锁卷而无需用户交互。此外,它还会将恢复信息存储骇 Active Directory (如果这种方法可用并且需要这样做),并确保使用最近的恢复证书。停止或禁用该服务可以防止用户使用此功能。该服务的默认运行方式是手动,如果你没有使用 BitLocker设备,该功能就可以放心禁用。

Block Level Backup Engine Service

执行块级备份和恢复的引擎。估计是和备份恢复……>>

电脑鼠标和键盘被禁用怎么办

电脑关闭鼠标/键盘的方法:

1,右击“计算机”,点击“属性”;

2,选择“设备管理器”,找到鼠标/键盘,右击“禁用”即可关闭。

回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢 !

键盘鼠标都被禁用了怎么办

首先进入BIOS把USB和PS2选项打开,解除禁用

如果是键鼠不好建议升级更换的雷柏V300罗技之类的好一点品质键鼠。

怎么禁用一个键盘上的按键

那你这个得看是不是机械键盘了,要是机械就方便了,直接拆了换个轴就行,我原来用雷柏V500就是自己换的轴,如果不是机械的,拆开键盘,把里面擦一擦就行了,很简单的

键盘鼠标禁用,如何解除?

安全模式就可以了,其实就是换个账号登陆进去

某种键盘屏蔽软件使键盘没有了反应怎么办?

1.出现键盘没有反应,首先要看一下是不是已经将键盘连接到电脑的接口上了。因为如果你曾打开机箱,很可能会忘了插上键盘接口。

2.然后应该考虑的是硬件问题,即键盘自身问题。首先检查一下键盘线是不是有损坏或者断开。如果有损坏接上即可。如果你的键盘是无线的,要检查一下是否没电了,或者发射器 是否设置不当。

3.如果键盘本身并无损坏,连接也正常的话,要考虑一下是不是误删除了驱动程序。因为键盘的驱动程序都是操作系统自带着的,所以,驱动删除后是可以很简单地恢复过来的。打开设备管理器,找到键盘选项。

4.在键盘属性里面,有一个更新驱动程序的按钮,你可以点击此按钮更新一下试一试,如果确实是因为驱动问题,点击之后问题应该能得到解决。

5.如果既不是硬件问题也不是驱动问题,那你就要考虑是软件问题了,现在有一些软件可以屏蔽键盘的按键,不管按哪一个键都不管用。因为这类软件通常是不会在系统托盘处显示的,所以,你要打开任务管理器,逐个查找可疑的进程,以防有此类软件作祟。

6.如果的确是因为某种键盘屏蔽软件使键盘没有了反应,你可以找到这个软件,打开软件进入相关设置。比如,我以某键盘屏蔽器为例,如图所示。如果键盘有有几个键是与其他的不一样的颜色,你要考虑是这几个键导致的键盘有时候没有反应。只需要点击一下这几个颜色不一样的键,即可解除锁定。

鼠标键盘被禁用了,该怎么办啊?

这个很简单,利用键盘打开控制面板。在用tad键切换到鼠标那重新点开,在不行在电脑刚启动的时候按F9 恢复上一次选择,就行了

鼠标和键盘的u接口被我禁用了该怎么办…

方法一:下载个ucleaner,解压运行 ,然后点击移除写保护 。

方法二:重新启动计算机,在开机过程中,点击键盘上的“Delete”键,进入BIOS设置界面,选择“Integrated Peripherals”选项,展开后将“USB 1.1 Controller”和“USB 2.0 Contr01ler”选项的属性设置为“Disableed”,即可禁用USB接口。最后别忘记给BIOS设置上一个密码,这样他人就无法通过修改注册表解“锁”上述设备了。不过这样就不行了,键盘和鼠标都不能用了 。

USB,是英文Universal Serial Bus(通用串行总线)的缩写,而其中文简称为“通串线”,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。

下一代USB接口将会有改动方向,下一代的Type-C USB接口,可支持正反两面插,并且传输数据信号强,但目前(2023年)生产商有限。

电脑USB不小心按成禁用了,鼠标和键盘都不能用了,怎么办啊。急需指点。。!!

如果能触屏

右键点我的电脑属性-设备管理器-找到鼠标-右键选择启用!

如果没有触屏

关机拔掉鼠标键盘换个USB,重新重新开机就可以

如果对你有帮助麻烦给采纳

linux利用钩子技术禁用鼠标键盘的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux利用钩子技术禁用鼠标键盘,搞定计时作业,Linux利用钩子技术禁用鼠标键盘轻松实现!,键盘禁用怎么处理?的信息别忘了在本站进行查找喔。


数据运维技术 » 搞定计时作业,Linux利用钩子技术禁用鼠标键盘轻松实现! (linux利用钩子技术禁用鼠标键盘)