如何循环读取注册表中一分支的每一项键值?

Qcj 2000-08-12 11:05:00
如何循环读取注册表中一分支的每一项键值?
例:读取HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\下每一子键,
及读取HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\data sources的每一键值。
...全文
204 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Icebird 2001-04-25
  • 打赏
  • 举报
回复
procedure GetKeyNames(Strings: TStrings);
返回所有键名
procedure GetValueNames(Strings: TStrings);
返回所有的值
Kingron 2001-02-17
  • 打赏
  • 举报
回复
[转载]:
解决问题要给分。
Firing_Sky 2000-08-15
  • 打赏
  • 举报
回复
一个递归,轻松搞定
shines77 2000-08-15
  • 打赏
  • 举报
回复
他们都说得很对,我来晚了,综合一下就可以了。
读键值,读子键,RegEnumKey, RegEnumKeyEx,RegEnumValue
然后做一个递归程序,你不会??
meijg 2000-08-12
  • 打赏
  • 举报
回复
用TRegistry类读取,keyexists判断键值存在与否,hassubkeys判断有否子键,然后再读取各个键值
masterz 2000-08-12
  • 打赏
  • 举报
回复
Use RegEnumKey, RegEnumKeyEx,RegEnumValue functions
fresh_ 2000-08-12
  • 打赏
  • 举报
回复
读键值:
DWORD index=0;
bool stop=false;
result=RegOpenKeyEx(HKEY_LOCAL_MACHINE,“SOFTWARE\\ODBC\\datasources",......,&hkey);
if(result==ERROR_SUCCESS)
while(!stop)
{
result=RegEnumValue(hkey,index,......);
if(result==ERROR_SUCCESS)
{
......
}
else
stop=true;
index++;
}


读子键:
DWORD index=0;
bool stop=false;
result=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\ODBC",......,&hkey);
if(result==ERROR_SUCCESS)
while(!stop)
{
result=RegEnumKeyEx(hkey,index,......);
if(result==ERROR_SUCCESS)
{
......
}
else
stop=true;
index++;
}

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧