我有一个32位的C++程序,它可以收集诊断数据来帮助我们的软件排除故障。我希望它导出注册表的某个子树-类似于:
regedit.exe /e ExportResult.reg HKEY_LOCAL_MACHINE\SubTreeIWantToExport问题是Regedit可能需要Vista及以上版本的特权提升,运行我的程序的用户可能没有足够的权限,但可能有足够的权限从该子树中读取。我还预见到64位系统上的SysWOW64会出现一些微妙的问题。所以运行Regedit不是一个好的选择。
当然,我的程序可以读取注册表本身,并以某种方式生成一个与.reg文件等效的文件,但实现该功能将是一种重复发明轮子的行为。
有没有其他方法可以从我的程序中读取和导出Windows注册表子树?
发布于 2010-10-29 21:15:17
不存在用于导出/导入注册表的单次Win32或.Net接口。
你可以像this那样做,但我认为你的要求是避免暴力。但是,与regedit一样,您可能想出的任何解决方案都需要构建在底层Win32 API之上。
https://stackoverflow.com/questions/4051658
复制相似问题