修改注册表
實驗要求:
(1)用RegOpenKeyEx()函數打開注冊表項:
HKEY_CURRENT_USER\Software\Microsoft\Windows\Currest Version\Policies\System。如果該注冊
表項不存在,則用RegCreateKeyEx()函數創建該項。
(2)如果該項為新創建的,則新建立一個REG_SZ值項DisableChangePassword和一個REG_DWORD值項
dword。如果該值項已經存在,則用RegQueryValueEx()讀取值項DisableRegistryTools的dword的值。
(3)用wsprintf()和MessageBox()函數把項值顯示在屏幕上。
(4)將值項dword的值置為1。
(5)用RegFlushKey()函數將對注冊表項的修改寫入注冊表。
(6)用RegCloseKey()函數關閉打開的注冊表項。
(7)編譯執行立即生效。
(8)發regedit命令驗證結果。
#include <stdio.h> #include <windows.h> #include<string.h>int main(void) {char regname1[]="Software\\Microsoft\\Windows\\Currest Version\\Policies\\System";char inBuffer1[]="pussy";char outBuffer1[250];HKEY hKey;DWORD cType1=REG_SZ,cType2=REG_DWORD;DWORD Size1,Size2,indwData=1,outdwData;int ret=RegOpenKey(HKEY_CURRENT_USER,regname1,&hKey);if(ret!=ERROR_SUCCESS){ret=RegCreateKey(HKEY_CURRENT_USER,regname1,&hKey);if(ret==ERROR_SUCCESS){RegFlushKey(hKey);MessageBox(NULL,TEXT("System表項創建成功"),TEXT("修改注冊表"),MB_OK);}elseMessageBox(NULL,TEXT("System表項創建失敗"),TEXT("修改注冊表"),MB_OK);}elseMessageBox(NULL,TEXT("System表項已經存在"),TEXT("修改注冊表"),MB_OK);//查詢鍵值DisableChangePasswordRegQueryValueEx(hKey,"DisableChangePassword",NULL,NULL,NULL,&Size1);if(RegQueryValueEx(hKey,"DisableChangePassword",NULL,&cType1,(LPBYTE)outBuffer1,&Size1)==ERROR_SUCCESS){char output1[250]="DisableChangePassword的值為";strcat(output1,outBuffer1);MessageBox(NULL,output1,TEXT("注冊表修改"),MB_OK);}else{if(RegSetValueEx(hKey,"DisableChangePassword",0,REG_SZ,(const BYTE*)inBuffer1,strlen(inBuffer1)+1)==ERROR_SUCCESS){RegFlushKey(hKey);MessageBox(NULL,TEXT("DisableChangePassword鍵值設置成功"),TEXT("修改注冊表"),MB_OK);}elseMessageBox(NULL,TEXT("DisableChangePassword鍵值設置失敗"),TEXT("修改注冊表"),MB_OK);}//查詢鍵值dwordRegQueryValueEx(hKey,"dword",NULL,NULL,NULL,&Size2);if(RegQueryValueEx(hKey,"dword",NULL,&cType2,(LPBYTE)&outdwData,&Size2)==ERROR_SUCCESS){char output2[250];wsprintf(output2,"dword=%d\n",outdwData);MessageBox(NULL,output2,TEXT("修改注冊表"),MB_OK);}else{if(RegSetValueEx(hKey,"dword",0,REG_DWORD,(const BYTE*)&indwData,sizeof(DWORD))==ERROR_SUCCESS){RegFlushKey(hKey);MessageBox(NULL,TEXT("dword鍵值設置成功"),TEXT("修改注冊表"),MB_OK);}elseMessageBox(NULL,TEXT("dword鍵值設置失敗"),TEXT("修改注冊表"),MB_OK);}RegCloseKey(hKey);return 0; }總結
- 上一篇: 美国邮编大全及邮政编码规范
- 下一篇: 盒模型