Vc 枚举注册表键值名
来源:互联网 发布:阿里阿里 编辑:程序博客网 时间:2024/06/06 04:41
void CEnumRegValueDlg::OnEnum()
{
HKEY lKey; //定义一个键的句柄,用于存储被打开的键
HKEY hKey; //初始的值
CString psKey; //要打开的键的名称
long IResult; //操作注册表函数的返回值
CList<CString,CString&> listvalue; //定义链表存储枚举得到的键值名
CString strList;
DWORD numValues,maxLenValueName,maxLenValueData,lpType,lenValue;
char *ValueName=new char[1024]; //存储得到的键值名
BYTE *lpData=new BYTE[1024]; //存储得到的键值数据
DWORD lenData; //存储键值的数据长度
hKey =HKEY CURRENT USER; //初始根键
psKey="SOFTWARE//MICROSOFT//INTERNET EXPLORE//Main";//子键名称及位置
IResult=RegOpenKeyEx(hKey,LPCSTR(psKey),0,KEY READ,&IKey);
if(ERROR_SUCCESS!=IResult)
{
MessageBox("错误:无法打开有关的注册表键值!");
}
IResult=RegQueryInfoKey(lKey,NULL,NULL,0,NULL,NULL,NULL,&numValues,
&maxLenValueName,&maxLenValueData,NULL,NULL);
if(ERROR_SUCCESS!=IResult)
{
MessageBox("错误:未能正确获取键的信息!");
return;
}
for(int i=0;ERROR SUCCESS==IResult,i<(int)numValues;i++)
{
lenValue=maxLenValueName;
lenData=1024;
//枚举键值
lResult=RegEnumValue(IKey,i,ValueName,&lenValue,0,&lpType,lpData,&lenData);
//将键值放到链表中
strList=ValueName;
listValue.AddTail(strList);
}
//遍历链表,将其值添加到列表框中
POSITION post=listvalue.GetHeadPosition();
while(post!=NULL)
{
strList=listValue.GetNext(post);
m_ctlList.InsertString(-1,strList);
}
delete ValueName;
delete lpData;
}
- Vc 枚举注册表键值名
- 注册表枚举键值
- VC++删除注册表键值
- 枚举注册表键名与键值
- 枚举注册表键名与键值
- VC++通过注册表枚举串口
- InstallScript中枚举注册表某键下的子键值Sample代码
- C/C++枚举注册表某项下的所有键值【代码示例】
- 注册表键值
- 注册表键值
- 用VC++来设置获得注册表的键值
- vc++高级班之注册表篇[3]---注册表中键值的相关操作
- 注册表常用键值意义
- 读取注册表键值
- 创建注册表键值
- 注册表常用键值意义
- Explorer注册表键值归纳
- 注册表键值作用
- 正式启用CSDN了。
- 网络存储之RAID
- AlphaControls使用心得
- 元数据和主数据说明
- 发布房产信息网页的前台页面js部分2
- Vc 枚举注册表键值名
- VC 动态创建按钮
- ISAM Indexed Sequential Access Methed 是一种索引机制,用于高效访问文件中的数据行。
- Tutorials:Getting Started with jQuery---2
- 如何根据类名和参数创建对象
- 机器学习与数据挖掘的关系
- 学习c++过程记录
- 元数据和主数据说明
- VS2005下如何安装WTL