
operatereg.exe【C++】是一款非常方便笔记本电脑键盘功能禁用脚本,支持开启禁用笔记本键盘,需要右键以管理员身份运行此程序,运行后重新启动计算机!您还在为老是误触而烦恼吗?
软件说明
之所以写这个程序,是因为宿舍桌子太小。有时把外接键盘叠在笔记本键盘上,容易误触到笔记本键盘,从而导致一些莫名其妙的问题困扰自己。
于是找了些资料了解到了如何禁用笔记本键盘的方法:
+禁用设备法。详细教程请点击[这里](https://jingyan.baidu.com/article/77b8dc7fb9aa336175eab674.html)
+修改注册表法。详细教程请点击[这里](https://www.52pojie.cn/thread-1445700-1-2.html)
可能会有人问:为什么不省事点选用禁用设备法,而是写代码再来操作注册表,来禁用键盘这么麻烦的方法呢?原因很简单,突然对编程语言操作注册表很感兴趣,就这么做了。
简单介绍注册表
注册表结构类似文件目录:分为根键、子键和键值项三部分,与文件目录对应的话就是根目录、子目录和文件。简单介绍一下这三部分:
(1)根键
分为5个:HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS和HKEY_CURRENT_CONFIG
(2)子键
可以有多个子键和键值项,就像一个目录中可以有多个子目录和多个文件一样。
(3)键值项
**可以理解为文件,它由三部分组成,分别为:名称、类型、数据。其中类型主要有:REG_BINARY??????????????????????????二进制数据REG_DWORD??????????????????????????32位双字节数据REG_SZ??????????????????????????????????以0结尾的字符串REG_DWORD_BIG_ENDIAN??????????高位排在底位的双字REG_EXPAND_SZ??????????????????????扩展字符串,可以加入变量如%PATH%REG_LINKUNICODE??????????????????符号链接REG_RESOURCE_LIST????????????????设备驱动程序资源列表REG_MULTI_SZ????????????????????????多字符串注册表数据项的数据类型有8种,最常用的是前3种。
操作注册表的几个API函数
需要头文件:atlbase.h
(1)打开一个键

(2)查询某一个键值

(3)设置一个键值

(4)新建指定键

(5)删除注册表指定键下的值

删除注册表项

RegDeleteKey也可用来删除一个键值。在Win95/98平台下,也可用来删除整个子键和键值。但是在WindowsNT/2000平台下,只能用来删除没有子键的键。
使用说明
工具需要以管理员方式启动

特别声明
+由于修改注册表后,需要重启电脑后才能生效。所以代码中加入了询问“是否立刻重启”的语句
源码说明
#include<iostream
#include<atlbase.h
#include<Windows.h
usingnamespacestd;
voidwrite_dword();
//测试成功,读取到start的当前值//读取操作表,其类型为DWORD
voidread_dword(){
HKEYhKEY;//定义有关的键,在查询结束时关闭
//打开与路径data_Set相关的hKEY
chari,x;
LPCTSTRdata_set=_T("SYSTEM\\CurrentControlSet\\Services\\i8042prt");
//访问注册表,hKEY则保存此函数所打开的键的句柄
if(ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_set,0,KEY_READ,&hKEY)){
DWORDdwValue;//长整型数据,如果是字符串数据用char数组
DWORDdwSize=sizeof(DWORD);
DWORDdwType=REG_DWORD;
if(::RegQueryValueEx(hKEY,_T("Start"),0,&dwType,(LPBYTE)&dwValue,&dwSize)!=ERROR_SUCCESS)
cout<<"错误:无法查询有关的注册表信息"<<endl;
switch(dwValue){
case3:
cout<<"当前笔记本键盘状态为:启用"<<"("<<hex<<dwValue<<")"<<endl<<endl<<"若需要禁用请输入字母:y或Y"<<endl;
cini;
if(i=='y'||i=='Y'){
write_dword();
}
break;
case4:
cout<<"当前笔记本键盘状态为:禁用"<<"("<<hex<<dwValue<<")"<<endl<<endl<<"若需要启用请输入字母:y或Y"<<endl;
cinx;
if(x=='y'||x=='Y'){
write_dword();
}
break;
default:
cout<<"当前笔记本键盘状态获取未知"<<"("<<hex<<dwValue<<")"<<endl<<endl;
break;
}
}
::RegCloseKey(hKEY);
}
//测试成功,读取到start设备名displayname//读取操作表,其类型为REG_SZ
voidread_reg_sz(){
HKEYhkey;
LPCTSTRdata_set=_T("SYSTEM\\CurrentControlSet\\Services\\i8042prt");
if(ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_set,0,KEY_READ,&hkey)){
chardwValue;
DWORDdwSzType=REG_SZ;
DWORDdwSize=sizeof(dwValue);
if(::RegQueryValueEx(hkey,_T("DisplayName"),0,&dwSzType,(LPBYTE)&dwValue,&dwSize)!=ERROR_SUCCESS){
cout<<"无法查询有关的注册表信息"<<endl<<endl;
}
cout<<"当前设备名:"<<dwValue<<endl<<endl;
}
::RegCloseKey(hkey);
}
//测试成功,更改(创建)到start键值//在SYSTEM\CurrentControlSet\Services\i8042prt文件夹下读取Start的子键,设置其值为dwValue
voidwrite_dword(){
HKEYhkey;//定义有关的hkey,在查询结束时要关闭
HKEYhTempKey;
charans;
intflag;
DWORDdwValue;
DWORDdwSize=sizeof(DWORD);
DWORDdwType=REG_DWORD;
LPCTSTRdata_set=_T("SYSTEM\\CurrentControlSet\\Services\\i8042prt");
cout<<"请设置当前笔记本键盘状态,输入数字:3,表示开启键盘;输入数字4,表示禁用键盘;"<<endl;
cinflag;
switch(flag){
case3:
dwValue=flag;break;
case4:
dwValue=flag;break;
default:
cout<<"状态值输入错误"<<endl;break;
}
if(ERROR_SUCCESS==RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_set,0,KEY_SET_VALUE,&hkey)){
//if(ERROR_SUCCESS==::RegCreateKey(hkey,_T("解开该段落注释,则可更改为:在SYSTEM\\CurrentControlSet\\Services\\i8042prt下,创建以'该文本内容'为名称的子健,并创建一个名为“Start”的子健,其值为:dwValue"),&hTempKey)){
if(ERROR_SUCCESS!=::RegSetValueEx(hkey,_T("Start"),0,REG_DWORD,(CONSTBYTE*)&dwValue,sizeof(DWORD))){
cout<<"写入注册表失败"<<endl;
}
cout<<"修改成功!"<<endl<<"是否立刻重启电脑,使设置立即生效?"<<endl<<"输入y或Y,以立刻重新启动电脑;输入n或N退出程序"<<endl;
cinans;
if(ans=='y'||ans=='Y'){
cout<<"再次确认,要立刻重启电脑吗?\n\n输入y或Y,以立刻重新启动电脑;输入n或N退出程序"<<endl;
cinans;
if(ans=='y'||ans=='Y')
system("shutdown-r-t0");
}
else
exit(1);
//}
}
::RegCloseKey(hkey);
}
//测试成功,更改(创建)子键test111及其键值项Name到start键值
voidwrite_binary(){
HKEYhkey;
HKEYhTempKey;
BYTEm_name;
memset(m_name,0,sizeof(m_name));
m_name=0xff;
m_name=0xac;
m_name=0x05;
m_name=0x4e;
LPCTSTRdata_set=_T("SYSTEM\\CurrentControlSet\\Services\\i8042prt");
if(ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_set,0,KEY_SET_VALUE,&hkey)){
if(ERROR_SUCCESS==::RegCreateKey(hkey,_T("test111"),&hTempKey)){
if(ERROR_SUCCESS!=::RegSetValueEx(hTempKey,_T("Name"),0,REG_BINARY,(unsignedchar*)m_name,5)){
cout<<"写入错误"<<endl;
}
}
}
::RegCloseKey(hkey);
}
//测试成功,更改(创建)子键test111及其键值项Name到start键值
voidwrite_reg_sz(){
HKEYhkey;
HKEYhTempKey;
charm_name_set="China";
DWORDlen=strlen(m_name_set)+1;
LPCTSTRdata_set=_T("SYSTEM\\CurrentControlSet\\Services\\i8042prt");
if(ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_set,0,KEY_SET_VALUE,&hkey)){
if(ERROR_SUCCESS==::RegCreateKey(hkey,_T("test111"),&hTempKey)){
if(ERROR_SUCCESS!=::RegSetValueEx(hTempKey,_T("Name"),0,REG_SZ,(constBYTE*)m_name_set,len)){
cout<<"写入错误"<<endl;
}
}
}
::RegCloseKey(hkey);
}
//测试成功,将键值项Name删除
voiddelete_value()
{
HKEYhkey;
LPCTSTRdata_set=_T("SYSTEM\\CurrentControlSet\\Services\\i8042prt\\test111");
if(ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_set,0,KEY_SET_VALUE,&hkey))
{
if(ERROR_SUCCESS!=::RegDeleteValue(hkey,_T("Name")))
{
cout<<"删除错误"<<endl;
}
}
::RegCloseKey(hkey);
}
//测试成功,将子键test111删除
voiddelete_key(){
HKEYhkey;
LPCTSTRdata_set=_T("SYSTEM\\CurrentControlSet\\Services\\i8042prt");
if(ERROR_SUCCESS==::RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_set,0,KEY_SET_VALUE,&hkey)){
if(ERROR_SUCCESS!=::RegDeleteKey(hkey,"test111")){
cout<<"删除错误"<<endl;
}
}
::RegCloseKey(hkey);
}
voidmenu(){
cout<<"欢迎使用本工具"<<endl<<endl;
read_reg_sz();
cout<<endl<<"已为您查询到该笔记本当前键盘状态为:";
read_dword();
}
intmain(){
menu();
system("pause");
return0;
}

Tags:禁用笔记本自带键盘快捷键,笔记本设置,禁用笔记本键盘命令.
PDFdu Merge PDF Files下载-PDF合并软件 v1.60 文件管理 / 542.83MB / 2013-3-4 / WinAll / 英文 / 免费软件 小编点评:软件介绍PDFduMergePDF.
下载
星韵全能抽奖软件4.20下载 抽奖软件 / 823.11MB / 2016-2-30 / Win8,Win7,WinXP / 简体中文 / 共享软件 小编点评:软件介绍专题:抽奖软件星韵全能抽奖.
下载
RarZilla Free Unrar(RAR解压工具)V6.50免费版下载 压缩解压 / 461.41MB / 2018-6-28 / Win7,Vista,Win2003,WinXP / 英文 / 免费软件 小编点评:软件介绍专题:谷歌浏览器ChromeRa.
下载
果盘神曲世界手游下载-神曲世界果盘版下载v1.0.0 安卓版回合网游 / 10.59MB / 2012-1-26 / Android / 中文 / v1.0.0 安卓版 小编点评:神曲世界果盘版是十分有趣好玩的仙侠类手游.
下载
美少女时装秀游戏下载安装-美少女时装秀最新版下载v1.0 安卓版益智休闲 / 392.63MB / 2011-5-15 / Android / 中文 / 石家庄初灏网络科技有限公司 / v1.0 安卓版 小编点评:美少女时装秀游戏是休闲类的换装游戏,玩家.
下载
救援达人游戏下载-救援达人手机版下载v1.0.1 安卓版益智休闲 / 855.93MB / 2012-11-24 / Android / 中文 / v1.0.1 安卓版 小编点评:救援达人手机版是一款超级好玩的闯关.
下载
jungle mash手游下载-jungle mash游戏下载v1.0.4.9 安卓版益智休闲 / 543.18MB / 2019-8-17 / Android / 中文 / v1.0.4.9 安卓版 小编点评:junglemash游戏是一款主打三.
下载
细菌繁殖大作战最新版下载-细菌繁殖大作战手机版下载v1.8 安卓版益智休闲 / 819.44MB / 2014-11-15 / Android / 中文 / v1.8 安卓版 小编点评:细菌繁殖大作战最新版是一款休闲娱乐.
下载
鸭子的逆袭下载-鸭子的逆袭中文版下载v1.33 安卓版益智休闲 / 240.6MB / 2013-3-10 / Android / 中文 / v1.33 安卓版 小编点评:鸭子的逆袭中文版是一款专为考验玩家反.
下载
种子净化之旅破解版最新下载-种子净化之旅无限金币版下载v1.11 安卓版益智休闲 / 469.33MB / 2019-7-25 / Android / 中文 / v1.11 安卓版 小编点评:种子净化之旅中文破解版是一款具有小.
下载
门当户对手游下载-门当户对游戏下载v1.04 安卓版益智休闲 / 474.48MB / 2017-2-5 / Android / 中文 / v1.04 安卓版 小编点评:门当户对游戏是一款非常棒的文字休闲游戏。游.
下载
反击吧公牛手游官网下载-反击吧公牛中文版下载v1.4 安卓汉化版益智休闲 / 417.52MB / 2015-4-6 / Android / 中文 / v1.4 安卓汉化版 小编点评:反击吧公牛安卓汉化版是一款超级无厘头.
下载
像素木筏求生游戏下载-像素木筏求生手游版下载v1.1 安卓版益智休闲 / 199.83MB / 2016-1-9 / Android / 中文 / v1.1 安卓版 小编点评:像素木筏求生游戏让你在游戏中体验有趣.
下载
果汁飞溅中文破解版下载-果汁飞溅完美破解版下载v3.3.0 安卓版
王牌保龄球手机版下载-王牌保龄球游戏下载v1.0 安卓版
大主宰7659版本下载-7659游戏大主宰下载v3.7.1 安卓版
经典罗斯方块下载安装-经典罗斯方块游戏下载v1.0.0 安卓版
现代海滨别墅设计手机版下载-现代海滨别墅设计游戏mod(modern beach house)下载v1.2.4 安卓版
唤刀免费下载-唤刀游戏下载v1.1.0 安卓版
球球弹弹乐手机版下载安装-球球弹弹乐游戏下载v1.0.1 安卓版
我要当皇帝游戏下载-我要当皇帝手机版下载v1.0 安卓版
贪吃蛇新大作战官方下载-贪吃蛇新大作战游戏下载v1.0 安卓版
指尖梦幻破解版下载-指尖梦幻内购破解版下载v1.2.6 安卓版
制作视频剪辑app下载-制作视频剪辑手机版下载v26.9.74 安卓版
视频美颜达人最新版下载-视频美颜达人app下载v2.5.6.16 安卓版
盛世唐门破解版下载-盛世唐门无限钻石内购破解版下载v1.0.3 安卓版
回合网游 / 938.63MB / 2016-3-27 / Android / 中文 / v1.0.3 安卓版 下载
魔法相册下载安装-魔法相册手机版下载v1.1 安卓版
摄影摄像 / 121.71MB / 2022-7-11 / Android / 中文 / 孙金海 / v1.1 安卓版 下载
饥饿鲨鱼模拟器下载无敌版-饥饿鲨鱼模拟器最新版本下载v6.4 安卓免费版
益智休闲 / 337.1MB / 2010-10-16 / Android / 中文 / Shaxniw / v6.4 安卓免费版 下载
圆球炸弹官方版下载-圆球炸弹游戏下载v1.0.8 安卓版
益智休闲 / 937.86MB / 2013-6-7 / Android / 中文 / v1.0.8 安卓版 下载
蛇蛇联萌手游下载-蛇蛇联萌最新版下载v1.0.1 安卓版
益智休闲 / 990.59MB / 2017-12-21 / Android / 中文 / v1.0.1 安卓版 下载
逆行者手机版下载-逆行者最新版下载v2.0 安卓版
益智休闲 / 567.56MB / 2013-8-9 / Android / 中文 / v2.0 安卓版 下载
神雕侠侣2手游测试版下载-神雕侠侣手游2内测版下载v2.0.2 安卓体验服
回合网游 / 88.71MB / 2019-4-16 / Android / 中文 / v2.0.2 安卓体验服 下载
申活汇app下载-申活汇最新版下载v1.1.3 安卓版
旅行出行 / 712.32MB / 2014-1-25 / Android / 中文 / 上海久悠生活信息科技有限公司 / v1.1.3 安卓版 下载
铅笔男孩最新版下载-铅笔男孩手游下载v1.1 安卓版
益智休闲 / 172.72MB / 2017-9-13 / Android / 中文 / v1.1 安卓版 下载
套圈圈ring shot官方版下载-ring shot游戏下载v1.0.2 安卓版
益智休闲 / 549.67MB / 2013-12-17 / Android / 中文 / v1.0.2 安卓版 下载
喵星人跳跃游戏下载-喵星人跳跃cat jump下载v1.1.0 安卓最新版
益智休闲 / 632.3MB / 2015-7-26 / Android / 中文 / v1.1.0 安卓最新版 下载
柏拉图之旅最新版下载-柏拉图之旅手机版下载v1.0.6 官网安卓版
益智休闲 / 244.44MB / 2013-5-19 / Android / 中文 / v1.0.6 官网安卓版 下载
暴走小鱼内购破解版下载-暴走小鱼无限金币破解版下载v1.0 安卓版
益智休闲 / 828.65MB / 2016-7-8 / Android / 中文 / v1.0 安卓版 下载