在 Qt 中,如何使用 QSettings 来 create/modify/remove windows 注册表 key/value?

In Qt, how can I use QSettings to create/modify/remove windows registry key/value?

我想让我的 Qt 应用程序访问 windows 注册表。我做了一些研究,QSettings 可能是要走的路。假设我想把我的 key/value 放在下面:"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\testApp",我的键是 "start",值是“4”。

1.How 我要创建我的 key/value 吗?我试过了

QSettings settings("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\testApp", QSettings::NativeFormat);
settings.setValue("Start", 4);

但什么也没发生。我想这可能是因为 "testApp" 之前不存在?如何创建 "testApp" class?

2.how 我可以删除使用 QSettings 创建的内容吗?需要删除 key/value 以及 "testApp" class.

谢谢!

你不能。

QSettings 可以在 Windows 平台上使用 Windows 注册表作为后端来存储其设置。

访问注册表不是一般用途API。

创建成功。创建和修改一样,如果path不存在,就会创建。至少在允许的范围内。尝试在 Microsoft/windows 域中设置密钥可能是您问题的一部分。

首先设置组织和应用名称。然后每个使用默认构造函数创建的 QSettings 都将获取这些信息,当您尝试设置特定值时,它将在注册表中创建结构:

QCoreApplication::setOrganizationName("MyCompany");
QCoreApplication::setApplicationName("testApp");
...
QSettings Settings;
Settings.setValue("start", 4);

将在

下创建值为 4 的注册表项 start
HKEY_CURRENT_USER\Software\MyCompany\testApp\

之后,每次调用 QSettings::setValue 都会修改给定键的值。

我不知道删除。