如何用C语言获取windows注册表信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用C语言获取windows注册表信息相关的知识,希望对你有一定的参考价值。

如图,我要获取HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\typedurls 这个的URL1 2 3...中的网址信息。
HKEY hKey;
RegOpenKey(HKEY_CURRENT_USER,"Software\\Microsoft\\Internet Explorer\\TypedURLs",&hKey);//打开键
char szpath[500];
DWORD dwSize = sizeof(szpath);
RegQueryValueEx(hKey,"url1",NULL,NULL,(LPBYTE)szpath,&dwSize);//提取内容
char str[500];
wsprintf(str,"url1=%s\0",szpath);
printf("%s\n",str);
用这个代码段可以获取第一个URL1的值,怎么样遍历剩下URL呢?
------解决方案--------------------
regedit 的命令行参数

filename 导入 .reg 文件进注册表
/s 导入 .reg 文件进注册表(安静模式)
/e 导出注册表文件
例:regedit /e filename.reg HKEY_LOCAL_MACHINE\SYSTEM
/L:system 指定 system.dat
/R:user 指定 user.dat
/C 压缩 [文件名] (Windows 98)

REGEDIT[/L:system][/R:user]filename1
REGEDIT[/L:system][/R:user]/C filename2
REGEDIT[/L:system][/R:user]/E filename3 [regpath]

其中:
  /L:system 指定system.dat文件的存放位置。
  /R:user 指定user.dat文件的存放位置。
  filename1 指定引入到注册表数据库的文件名。
  /C filename2 指定形成注册表数据库的文件名。
  /E filename3 指定导出注册表文件的文件名。
  regpath 指定导出注册表文件的开始关键字(缺省为全部关键字)
参考技术A 不是网上的不对,而是你的编译器不对。

Win-TC和Dev-C++是不能访问注册表的。因为访问注册表需要调用 Windows API 函数。
目前,能够调用 Windows API 函数的C/C++编译器只有 Visual C++

以上是关于如何用C语言获取windows注册表信息的主要内容,如果未能解决你的问题,请参考以下文章

pycharm 注册码如何用

如何用C语言添加鼠标右键菜单

如何用批处理修改注册表的权限呢?

急问::如何用注册表关闭windows防火墙??

急问::如何用注册表关闭windows防火墙??

如何用快捷键打开注册表里的所有子项?