如何读注册表信息

xiao_jing 2006-05-11 11:49:04
请问大侠们一个问题,小弟想有选择性的读HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCIIDE下的部分键和子健值(就是有选择性的读,不读叶子节点) 如果用RegQueryInfoKey() RegEnumKeyEx() 写一些方法去遍历HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCIIDE 下的好象不好控制不读叶子接点吗?
RegEnumValue(m_hKey,dinx,valuename,&nsize,NULL,&k,vari,&ncbvari) 这个是枚举 不知道是不是 他是对指定的同一层的枚举出来,还是把从指定下的所有都读出来.希望大侠们提供点方法,小弟不胜感激,跪谢,跪谢!!!
...全文
373 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
linamu 2006-06-21
  • 打赏
  • 举报
回复
mark
wanglei051 2006-05-12
  • 打赏
  • 举报
回复
你是读硬件信息吗?就是像设备管理器上的信息?如果是这样的话,你的方向就错了
tim_jing 2006-05-11
  • 打赏
  • 举报
回复
关健问题是 我做的这个东西,不只在一台机子上运行,注册表信息不固定啊,唯一注定的就是PCIIDE (HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCIIDE) 这个键 所以不好找啊 但我只想读PCIIDE键下的每个子建的头两个节点的信息,其他剩余的不读 江湖救急 万分感谢!!!
gjianpro 2006-05-11
  • 打赏
  • 举报
回复
遍历HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCIIDE
获得所有的叶子
找出你所需要的
wanglei051 2006-05-11
  • 打赏
  • 举报
回复
char log_diry[50];
HKEY hKey;

LONG rt = RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SYSTEM\\ControlSet001\\Services\\W3SVC\\Parameters", 0, KEY_READ, &hKey);
if(rt == ERROR_SUCCESS)
{
unsigned long buflen = sizeof( log_diry );
RegQueryValueEx( hKey, "LogFileDirectory", NULL, NULL, (LPBYTE)&log_diry, &buflen );
RegCloseKey(hKey);
}
tim_jing 2006-05-11
  • 打赏
  • 举报
回复
大哥 不是啊,您可能没弄懂我的意思 比如SYSTEM\ControlSet001\Services\W3SVC\Parameters
是定值,而LogFileDirectory 肯定是会变 因为我对的是机器以往硬件的信息检查 而且 程序是要求执行在 不同的机器上通用 。谢谢 大哥 谢谢

有选择性的读HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCIIDE下的部分键和子健值(就是有选择性的读,不读叶子节点) 如果用RegQueryInfoKey() RegEnumKeyEx() 写一些方法去遍历HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCIIDE 下的好象不好控制不读叶子接点吗?
RegEnumValue(m_hKey,dinx,valuename,&nsize,NULL,&k,vari,&ncbvari) 这个是枚举 不知道是不是 他是对指定的同一层的枚举出来,还是把从指定下的所有都读出来.希望大侠们提供点方法,小弟不胜感激,跪谢,跪谢!!!

wanglei051 2006-05-11
  • 打赏
  • 举报
回复
不是例子都给你了吗?我读的是HKEY_LOCAL_MACHINE\
SYSTEM\ControlSet001\Services\W3SVC\Parameters的LogFileDirectory键

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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