系统注册表中存有很多重要的信息,我们有必要掌握比较简单地写入和读取注册的表的方法。下面结合实例来说明(**完整实例可在我的CSDN资源中下载:[http://download.csdn.net/detail/margin1988/3677190](http://download.csdn.net/detail/margin1988/3677190)**):
1.写注册表:
~~~
HKEY hSubKey;
DWORD lpdw;
~~~
(1)创建“项”(键):
~~~
RegCreateKeyEx(HKEY_LOCAL_MACHINE,"Software\\Reg\\Admin",0,NULL,REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL,&hSubKey,&lpdw);
//REG_OPTION_NON_VOLATILE:保存,重启还在;REG_OPTION_VOLATILE:不保存,重启不在。
~~~
(2)设置“值”(键值):
~~~
RegSetValueEx(hSubKey,"Manager",0,REG_SZ,(LPBYTE)"Margin",strlen("Margin"));
~~~
(3)释放注册“项”(键)的句柄:
~~~
RegCloseKey(hSubKey);
~~~
2.读取注册表:
(1)打开注册表中的该“项”(键):
~~~
HKEY hKEY;//键
long ret = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Reg\\Admin",0, KEY_READ,&hKEY);
if(ret!=ERROR_SUCCESS)
{
MessageBox("错误: 查询无法打开有关的hKEY!");
return;
}
~~~
(2)读取指定“值”的数据:
~~~
unsigned char tmp[256]="\0"; //读出的数据
DWORD type=REG_SZ;
DWORD size=256;//必须大于你的键值字符长度
ret=::RegQueryValueEx(hKEY,"Manager",NULL,&type,tmp,&size);
if(ret!=ERROR_SUCCESS)
{
MessageBox("错误:无法查询有关注册表信息!");
return;
}
// 数据类型转化:unsigned char *CString〔这也是一个小知识点〕
CString tmpstring; //读出的数据
tmpstring.Format("%s",tmp);
~~~
- 前言
- VC++中自定义热键及响应
- CFileDialog文件对话框
- VC++中客户区保存为BMP图片
- VC++读、写注册表
- VC++播放音频文件和音频数据的方法
- VC++调用Matlab编写的DLL(混合编程)
- VC++中文件读、写和其他相关操作汇总
- VC++获取系统当前时间
- VC++按钮控件字体设置
- VC++软件界面风格简单美化
- VC++中一些常用的数据类型之间的相互转化
- VC++中截取字符串的方法
- VC++中vector矢量的使用方法及随机相关
- VC++中结构体的定义及使用
- VC++中List Control控件的使用方法介绍
- VC++中窗口过程函数及其消息发送、响应机制介绍
- VC++中Ribbon编程架构及SDI架构多视图切换介绍
- 串口通信基础知识及VC++实现
- VC++中单个键盘按键的响应
- VC++中的计时器及多媒体高精度计时器
- VC++编写DLL导出函数及其调用方法
- VC++对话框(CDialog)的全屏显示及控件居中显示
- VC++对话框(CDialog)添加背景图片
- VC++图片控件(Picture Control)显示资源位图(BMP)、文件位图(BMP)、其它格式文件图片(JPG\PNG\BMP)的方法
- VC++对Access数据库的操作(查询、插入、更新、删除等)