Qt将Windows注册表导出到文件

Qt export windows registry to a file

本文关键字:文件 注册表 Windows Qt      更新时间:2023-10-16

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

REG EXPORT "HKCUSOFTWAREMy-SoftwareSoftName" "dest.reg"
::Exports all subkeys and values into a reg file recursively.

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

Windows Registry Editor Version 5.00
[HKCUSOFTWAREMy-SoftwareSoftName]   
"Install"=dword:0000132c
[HKCUSOFTWAREMy-SoftwareSoftNameAssociation]
[HKCUSOFTWAREMy-SoftwareSoftNameInstall] 
"Path"="C:\path\to\dir"  "Send To"=dword:00000001
[HKCUSOFTWAREMy-SoftwareSoftNameSettings] 
"Explorer"=dword:00000000  "Toolbar"=dword:00000001
[HKCUSOFTWAREMy-SoftwareSoftNameSettingsCustom 0]
"Explorer"=dword:00000000

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

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

最后,

我最终找到了最简单的方法,在我的C++应用程序中传递Windows batch的命令。在尝试了很多事情都没有成功之后。

在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系统下运行。