注册表Reg文件,获取文件路径

帝释天参 2015-07-15 08:41:40
我想写一个注册表文件,但是不知道这个类型文件如何获取reg文件所在路径
比如:
[HKEY_LOCAL_MACHINE\Software\MyApp]
@="F:\\MyApp“
中的F:\MyApp,怎么能用变量表示?随着注册表文件的位置改变!

求解
...全文
1996 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanyang1991 2016-10-21
  • 打赏
  • 举报
回复
LONG WINAPI RegLoadKey( __in HKEY hKey, __in LPCTSTR lpSubKey, __in LPCTSTR lpFile );
帝释天参 2015-07-18
  • 打赏
  • 举报
回复
我查找的结果是注册表文件(.reg)没有能够表示所在路径的转义符(至少我没找到),想要实现取得路径,可以使用bat脚本%~dp0,同时使用bat脚本的reg add函数进行注册表操作 比如我帖子开头的例子,用bat就这么写(比如就在F:/MyApp下运行bat): @ECHO OFF reg add "[HKEY_LOCAL_MACHINE\Software\MyApp]" /ve /d “%~dp0” /f 当然,也可以使用C写个程序
赵4老师 2015-07-17
  • 打赏
  • 举报
回复
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 指定导出注册表文件的开始关键字(缺省为全部关键字) 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Blue_Dream_/archive/2007/09/20/1792947.aspx
赵4老师 2015-07-16
  • 打赏
  • 举报
回复
Registry Functions The following functions are used with the registry: RegCloseKey RegConnectRegistry RegCreateKey RegCreateKeyEx RegDeleteKey RegDeleteValue RegEnumKey RegEnumKeyEx RegEnumValue RegFlushKey RegGetKeySecurity RegLoadKey RegNotifyChangeKeyValue RegOpenKey RegOpenKeyEx RegQueryInfoKey RegQueryMultipleValues RegQueryValue RegQueryValueEx RegReplaceKey RegRestoreKey RegSaveKey RegSetKeySecurity RegSetValue RegSetValueEx RegUnLoadKey
fly_dragon_fly 2015-07-16
  • 打赏
  • 举报
回复
使用RegOpenKeyEx, 然后用RegQueryValueEx得到
帝释天参 2015-07-16
  • 打赏
  • 举报
回复
我的意思是写一个*.reg文件。。。在reg文件中读取这个文件所在的目录写入注册表,不知道reg文件类型中,读取当前路径的转义符是什么,而不是用C++制作一个reg文件
赵4老师 2015-07-16
  • 打赏
  • 举报
回复
#include <stdio.h>
char myapp[]="F:\\\\MyApp";
char regstr[]="REGEDIT4\n\n[HKEY_LOCAL_MACHINE\\Software\\MyApp]\n@=\"%s\"";
FILE *f;
int main() {
    f=fopen("myapp.reg","w");
    fprintf(f,regstr,myapp);
    fclose(f);
    return 0;
}
帝释天参 2015-07-16
  • 打赏
  • 举报
回复
我是想写.reg文件,不是使用c++实现注册表读写 @赵4老师
帝释天参 2015-07-16
  • 打赏
  • 举报
回复
引用 1 楼 fly_dragon_fly 的回复:
使用RegOpenKeyEx, 然后用RegQueryValueEx得到
我是想写.reg文件,不是使用c++实现注册表读写

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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