猜您喜歡:
平時使用電腦的時候總是不小心碰到不該點(diǎn)的按鍵導(dǎo)致誤操作怎么辦?今天小編帶來的這款operatereg.exe【C++】可以幫助我們解決這個問題!軟件能夠幫助用戶開啟筆記本電腦的禁用功能,從而讓使用的時候禁用某些鍵盤功能,需要用管理員身份運(yùn)行,重啟計算機(jī)之后就可以實(shí)現(xiàn)了!
之所以寫這個程序,是因?yàn)樗奚嶙雷犹?。有時把外接鍵盤疊在筆記本鍵盤上,容易誤觸到筆記本鍵盤,從而導(dǎo)致一些莫名其妙的問題困擾自己。
于是找了些資料了解到了如何禁用筆記本鍵盤的方法:
+ 禁用設(shè)備法。詳細(xì)教程請點(diǎn)擊 [這里](https://jingyan.baidu.com/article/77b8dc7fb9aa336175eab674.html)
+ 修改注冊表法。詳細(xì)教程請點(diǎn)擊 [這里](https://www.52pojie.cn/thread-1445700-1-2.html)
可能會有人問:為什么不省事點(diǎn)選用禁用設(shè)備法,而是寫代碼再來操作注冊表,來禁用鍵盤這么麻煩的方法呢?原因很簡單,突然對編程語言操作注冊表很感興趣,就這么做了。
工具需要以管理員方式啟動
+由于修改注冊表后,需要重啟電腦后才能生效。所以代碼中加入了詢問“是否立刻重啟”的語句
#include
#include
#include
using namespace std;
void write_dword();
//測試成功,讀取到start的當(dāng)前值//讀取操作表,其類型為DWORD
void read_dword(){
HKEY hKEY;//定義有關(guān)的鍵,在查詢結(jié)束時關(guān)閉
//打開與路徑data_Set相關(guān)的hKEY
char i,x;
LPCTSTR data_set = _T("SYSTEM⁄⁄CurrentControlSet⁄⁄Services⁄⁄i8042prt");
//訪問注冊表,hKEY則保存此函數(shù)所打開的鍵的句柄
if (ERROR_SUCCESS == ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, data_set, 0, KEY_READ, &hKEY)){
DWORD dwValue;//長整型數(shù)據(jù),如果是字符串?dāng)?shù)據(jù)用char數(shù)組
DWORD dwSize = sizeof(DWORD);
DWORD dwType = REG_DWORD;
if (::RegQueryValueEx(hKEY, _T("Start"), 0, &dwType, (LPBYTE)&dwValue, &dwSize) != ERROR_SUCCESS)
cout << "錯誤:無法查詢有關(guān)的注冊表信息" << endl;
switch (dwValue){
case 3:
cout << "當(dāng)前筆記本鍵盤狀態(tài)為:啟用 " << "(" << hex << dwValue << ")" << endl << endl << "若需要禁用請輸入字母:y或Y" << endl;
cin >> i;
if (i == 'y'|| i == 'Y') {
write_dword();
}
break;
case 4:
cout << "當(dāng)前筆記本鍵盤狀態(tài)為:禁用 " << "(" << hex << dwValue << ")" << endl << endl << "若需要啟用請輸入字母:y或Y" << endl;
cin >> x;
if (x == 'y' || x == 'Y') {
write_dword();
}
break;
default:
cout << "當(dāng)前筆記本鍵盤狀態(tài)獲取未知 " << "(" << hex << dwValue << ")" << endl << endl;
break;
}
}
::RegCloseKey(hKEY);
}
//測試成功,讀取到start設(shè)備名displayname//讀取操作表,其類型為REG_SZ
void read_reg_sz(){
HKEY hkey;
LPCTSTR data_set = _T("SYSTEM⁄⁄CurrentControlSet⁄⁄Services⁄⁄i8042prt");
if (ERROR_SUCCESS == ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, data_set, 0, KEY_READ, &hkey)){
char dwValue[256];
DWORD dwSzType = REG_SZ;
DWORD dwSize = sizeof(dwValue);
if (::RegQueryValueEx(hkey, _T("DisplayName"), 0, &dwSzType, (LPBYTE)&dwValue, &dwSize) != ERROR_SUCCESS){
cout << "無法查詢有關(guān)的注冊表信息" << endl << endl;
}
cout << "當(dāng)前設(shè)備名:" << dwValue << endl << endl;
}
::RegCloseKey(hkey);
}
//測試成功,更改(創(chuàng)建)到start鍵值//在SYSTEM⁄CurrentControlSet⁄Services⁄i8042prt文件夾下讀取Start的子鍵,設(shè)置其值為dwValue
void write_dword(){
HKEY hkey;//定義有關(guān)的hkey,在查詢結(jié)束時要關(guān)閉
HKEY hTempKey;
char ans;
int flag;
DWORD dwValue;
DWORD dwSize = sizeof(DWORD);
DWORD dwType = REG_DWORD;
LPCTSTR data_set = _T("SYSTEM⁄⁄CurrentControlSet⁄⁄Services⁄⁄i8042prt");
cout << "請設(shè)置當(dāng)前筆記本鍵盤狀態(tài),輸入數(shù)字:3,表示開啟鍵盤;輸入數(shù)字4,表示禁用鍵盤;" << endl;
cin >> flag;
switch (flag) {
case 3:
dwValue = flag; break;
case 4:
dwValue = flag; break;
default:
cout << "狀態(tài)值輸入錯誤" << 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下,創(chuàng)建以'該文本內(nèi)容'為名稱的子健,并創(chuàng)建一個名為“Start”的子健,其值為:dwValue"), &hTempKey)){
if (ERROR_SUCCESS != ::RegSetValueEx(hkey, _T("Start"), 0, REG_DWORD, (CONST BYTE*) & dwValue, sizeof(DWORD))){
cout << "寫入注冊表失敗" << endl;
}
cout << "修改成功!" << endl << "是否立刻重啟電腦,使設(shè)置立即生效?" << endl << "輸入y或Y,以立刻重新啟動電腦;輸入n或N退出程序" << endl;
cin >> ans;
if (ans == 'y' || ans == 'Y') {
cout << "再次確認(rèn),要立刻重啟電腦嗎?⁄n⁄n輸入y或Y,以立刻重新啟動電腦;輸入n或N退出程序" << endl;
cin >> ans;
if (ans == 'y' || ans == 'Y')
system("shutdown -r -t 0");
}
else
exit(1);
//}
}
::RegCloseKey(hkey);
}
//測試成功,更改(創(chuàng)建)子鍵test111及其鍵值項(xiàng)Name到start鍵值
void write_binary(){
HKEY hkey;
HKEY hTempKey;
BYTE m_name[10];
memset(m_name, 0, sizeof(m_name));
m_name[0] = 0xff;
m_name[1] = 0xac;
m_name[2] = 0x05;
m_name[3] = 0x4e;
LPCTSTR data_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, (unsigned char*)m_name, 5)){
cout << "寫入錯誤" << endl;
}
}
}
::RegCloseKey(hkey);
}
//測試成功,更改(創(chuàng)建)子鍵test111及其鍵值項(xiàng)Name到start鍵值
void write_reg_sz(){
HKEY hkey;
HKEY hTempKey;
char m_name_set[256] = "China";
DWORD len = strlen(m_name_set) + 1;
LPCTSTR data_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, (const BYTE*)m_name_set, len)){
cout << "寫入錯誤" << endl;
}
}
}
::RegCloseKey(hkey);
}
//測試成功,將鍵值項(xiàng)Name刪除
void delete_value()
{
HKEY hkey;
LPCTSTR data_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刪除
void delete_key(){
HKEY hkey;
LPCTSTR data_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);
}
void menu(){
cout << "歡迎使用本工具" << endl << endl;
read_reg_sz();
cout << endl << "已為您查詢到該筆記本當(dāng)前鍵盤狀態(tài)為:" ;
read_dword();
}
int main(){
menu();
system("pause");
return 0;
}
以上就是operatereg.exe【C++】的全部內(nèi)容了,快快收藏非凡軟件站下載更多軟件和游戲吧!
鍵盤修改器 鍵盤修改器能將鍵盤上的按鍵互相交換,可以模擬普通PC鍵盤,用于游戲改鍵、日常工作改鍵,旨在幫助各位網(wǎng)民更加方便的修改鍵盤按鍵。小凡為您提供多款鍵盤修改器相關(guān)的軟件供您選擇哦!快來選擇下載吧!
大漠駝鈴屏蔽按鍵工具V1.5 大漠駝鈴屏蔽按鍵工具是一款鍵盤屏蔽軟件,用戶可以隨著自己想要...詳情>>
Windows10添加簡體中文美式鍵盤v1.4 Windows10添加簡體中文美式鍵盤是一款非常方便使用的添...詳情>>
你是否熱愛音樂,想要在酷狗大字版上享受更加震撼的聽覺盛宴?開啟DJ音效,就能讓你的音樂體驗(yàn)瞬間升級。那么,如何在酷狗大字版中開啟DJ音效,感受音樂的激情與動感呢?接下來,小編我將為你詳細(xì)解答,讓你輕松掌握開啟DJ音效的方法,享受更加豐富的音樂之旅??峁反笞职嬖O(shè)置音效方法詳解1. 首先打開酷狗大字版首頁,點(diǎn)擊底部“播放器”按鈕。2. 然后點(diǎn)擊播放進(jìn)度條右側(cè)“dj音效”圖標(biāo)。3. 最后選擇喜歡的dj音
qq是一款十分好用的社交軟件,用戶們可以隨心所欲的進(jìn)行各種功能操作,密碼丟失時還能夠利用安全中心好友輔助驗(yàn)證登錄,本期小編給大家?guī)砹嗽敿?xì)的操作攻略,有想知道的朋友千萬不要錯過!qq安全中心好友輔助驗(yàn)證步驟一覽1、打開QQ安全中心官網(wǎng)頁面后,在頁面找到帳號解凍點(diǎn)擊進(jìn)入;2、翻轉(zhuǎn)至下一個新的頁面之后,在頁面輸入好友QQ帳號,點(diǎn)擊下一步即可幫好友輔助驗(yàn)證;3、進(jìn)入到qq主頁面,右上方位置找到頭像圖標(biāo)并
隨手記,作為一款備受歡迎的記賬應(yīng)用,以其豐富的功能和便捷的操作贏得了眾多用戶的喜愛。為了進(jìn)一步提升用戶體驗(yàn),隨手記特別推出了抽屜模式,讓界面更加簡潔明了。那么,你是否也想了解,該如何輕松開啟抽屜模式呢?接下來,就和小編一同來探索這一功能的開啟方法,享受更加流暢的記賬體驗(yàn)吧!隨手記設(shè)置記賬模式流程介紹1. 打開隨手記APP,點(diǎn)擊界面中的【記賬設(shè)置】。2. 在隨手記的記賬設(shè)置界面中,點(diǎn)擊【記一筆樣式】
嗶哩嗶哩這款軟件的功能和操作方法都是很容易掌握的,不同的模式也是能夠切換的,在使用過程中還能夠一鍵關(guān)閉私信,小編已經(jīng)為大家準(zhǔn)備好了詳細(xì)的攻略,希望對各位小伙伴們有所幫助。嗶哩嗶哩關(guān)閉私信的方法介紹1、在嗶哩嗶哩主頁,點(diǎn)擊右上角的信封圖標(biāo)進(jìn)入消息界面。 2、點(diǎn)擊右上角三個點(diǎn),選擇【消息設(shè)置】。 3、點(diǎn)擊【未關(guān)注人消息】,開啟【收起未關(guān)注人息】。 如果您覺得這篇教程對您有啟發(fā)或幫助,不妨點(diǎn)贊、收藏并
大家都知道,買藥時價格差異能不小呢。河北省醫(yī)保為了幫大家找到性價比高的藥品,特推出了藥品比價查詢服務(wù)。您只需按照簡單幾步操作,就能輕松對比不同地方的藥價,節(jié)省開支。1、藥品比價查詢流程進(jìn)入河北智慧醫(yī)保小程序點(diǎn)擊“藥品比價查詢”模塊。第一步:進(jìn)入“藥品比價查詢”界面輸入您要查詢的藥品名稱選擇篩選條件后,點(diǎn)擊“藥品查詢”。第二步:進(jìn)入“藥品查詢結(jié)果”列表可查看藥品售價區(qū)間、均價、掛網(wǎng)價格以及在售該藥品
Steam是一個廣受歡迎的數(shù)字游戲分發(fā)平臺,提供大量的游戲購買、下載、管理以及社交功能。那么,想要在Steam上綁定手機(jī)號以增加賬戶的安全性并方便找回密碼等操作,應(yīng)該如何進(jìn)行呢?小編這里整理了些相關(guān)資料,有需要的小伙伴可以前來看看。Steam綁定手機(jī)號步驟一覽第一步:雙擊Steam圖標(biāo),運(yùn)行Steam軟件。輸入自己的賬號和密碼,登錄Steam賬戶。第二步:登錄成功后,進(jìn)入Steam主界面。點(diǎn)擊頂部
本站所有資源(含游戲)均是軟件作者、開發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔(dān)!本站將不對任何資源負(fù)法律責(zé)任,所有資源請在下載后24小時內(nèi)刪除。
如侵犯了您的版權(quán)、商標(biāo)等,請立刻聯(lián)系我們并具體說明情況后,本站將盡快處理刪除,聯(lián)系
(版權(quán)說明注意事項(xiàng))。若有關(guān)在線投稿、無法下載等問題,請與本站客服人員聯(lián)系
!
用戶可自行按線路選擇相應(yīng)的下載點(diǎn),可以直接點(diǎn)擊下載/另存為,若直接點(diǎn)擊下載速度太慢,請嘗試使用高速下載器。為確保下載的文件能正常使用,請使用WinRAR最新版本解壓本站軟件。
建議大家謹(jǐn)慎對待所下載的文件,大家在安裝的時候務(wù)必留意每一步!關(guān)于360安全衛(wèi)士或QQ電腦管家的有關(guān)提示,請自行注意選擇操作。