资源描述:
《对注册表进行简单的操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、对注册表进行简单的操作作者:天津赵春生下载本文示例源代码近来由于需要在自己写的程序中对注册表进行操作。总结些经验,并做个一个DEMO供日后使用,现在把它拿出来和大家分享……小弟初学VC,有误之处还请赐教。为了使用方便,我把一些操作写成了函数,以便方便调用,具体代码如下所示:一、定义HKEYhKey;charcontent[256];//所查询注册表键值的内容DWORDdwType=REG_SZ;//定义读取数据类型DWORDdwLength=256;structHKEY__*RootKey;//注册表主键名称TCHAR*SubKey;//欲打开注册表项的地址TCHAR*KeyNa
2、me;//欲设置项的名字TCHAR*ValueName;//欲设置值的名称LPBYTESetContent_S;//字符串类型intSetContent_D[256];//DWORD类型BYTESetContent_B[256];//二进制类型intShowContent(structHKEY__*ReRootKey,TCHAR*ReSubKey,TCHAR*ReValueName);intSetValue_S(structHKEY__*ReRootKey,TCHAR*ReSubKey,TCHAR*ReValueName,LPBYTEReSetContent_S);intSetV
3、alue_D(structHKEY__*ReRootKey,TCHAR*ReSubKey,TCHAR*ReValueName,intReSetContent_D[256]);intSetValue_B(structHKEY__*ReRootKey,TCHAR*ReSubKey,TCHAR*ReValueName,BYTEReSetContent_B[256]);intDeleteKey(structHKEY__*ReRootKey,TCHAR*ReSubKey,TCHAR*ReKeyName);intDeleteValue(structHKEY__*ReRootKey,TCHAR
4、*ReSubKey,TCHAR*ReValueName);二、查看函数ShowContent(structHKEY__*ReRootKey,TCHAR*ReSubKey,TCHAR*ReValueName){inti=0;//操作结果:0==succeedif(RegOpenKeyEx(ReRootKey,ReSubKey,0,KEY_READ,&hKey)==ERROR_SUCCESS){if(RegQueryValueEx(hKey,ReValueName,NULL,&dwType,(unsignedchar*)content,&dwLength)!=ERROR_SUCCES
5、S){AfxMessageBox("错误:无法查询有关的注册表信息");i=1;}RegCloseKey(hKey);}else{AfxMessageBox("错误:无法打开有关的hKEY");i=1;}returni;}三、设置字符串值函数SetValue_S(structHKEY__*ReRootKey,TCHAR*ReSubKey,TCHAR*ReValueName,LPBYTEReSetContent_S){inti=0;//操作结果:0==succeed//intStrLength;//StrLength=CString(SetContent_S).GetLength(
6、);if(RegOpenKeyEx(ReRootKey,ReSubKey,0,KEY_WRITE,&hKey)==ERROR_SUCCESS){if(RegSetValueEx(hKey,ReValueName,NULL,REG_SZ,ReSetContent_S,CString(SetContent_S).GetLength())!=ERROR_SUCCESS){AfxMessageBox("错误:无法设置有关的注册表信息");i=1;}RegCloseKey(hKey);}else{AfxMessageBox("错误:无法查询有关的注册表信息");i=1;}returni;}
7、四、设置DWORD值函数SetValue_D(structHKEY__*ReRootKey,TCHAR*ReSubKey,TCHAR*ReValueName,intReSetContent_D[256]){inti=0;//操作结果:0==succeedif(RegOpenKeyEx(ReRootKey,ReSubKey,0,KEY_WRITE,&hKey)==ERROR_SUCCESS){if(RegSetValueEx(hKey,ReValueName,NULL,REG_DW