Qt将Windows注册表导出到文件

时间:2017-03-20 01:54:05

标签: c++ windows qt registry

有人可以帮助以Qt C ++方式转换 Windows命令

REG EXPORT "HKCU\SOFTWARE\My-Software\SoftName" "dest.reg"
::Exports all subkeys and values into a reg file recursively.

包含要导出的组和子组的示例注册表树:

Windows Registry Editor Version 5.00

[HKCU\SOFTWARE\My-Software\SoftName]   
"Install"=dword:0000132c

[HKCU\SOFTWARE\My-Software\SoftName\Association]

[HKCU\SOFTWARE\My-Software\SoftName\Install] 
"Path"="C:\\path\\to\\dir"  "Send To"=dword:00000001

[HKCU\SOFTWARE\My-Software\SoftName\Settings] 
"Explorer"=dword:00000000  "Toolbar"=dword:00000001

[HKCU\SOFTWARE\My-Software\SoftName\Settings\Custom 0]
"Explorer"=dword:00000000

由于我对C ++和Qt都很陌生,我正在努力使用QSettings,但我真的很想知道它是否是进行注册表导出的最佳方式。

我只需要原始导出(甚至包括空组名称),无需编辑数据。

1 个答案:

答案 0 :(得分:0)

最后,我通过在我的C ++应用程序中传递Windows批处理命令,最简单的方法。在尝试了很多事情之后没有成功。

在C ++中执行(windows)系统命令的示例代码:

system("ANY_SYSTEM_COMMAND");

将注册表部分导出到.reg文件的代码:

#include <windows.h>
using namespace std;

int main(int argc, char *argv[])
{
    system("REG EXPORT \"HKCU\\SOFTWARE\\My-Software\\SoftName\" \"destfile.reg\" ");

    return 0;
}

它只打算在Windows系统下运行。