我想让我的Qt应用程序访问Windows注册表。 我做了一些研究,认为QSettings可能是要走的路。 假设我要将密钥/值放在这里:" HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion testApp",密钥是"开始",值是" 4"。
1.如何创建我的键/值? 我试过了
QSettings settings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\testApp", QSettings::NativeFormat);
settings.setValue("Start", 4);
但什么也没发生。 我认为可能是因为" testApp"不存在吗? 如何创建" testApp"类?
2.如何删除使用QSettings创建的内容? 需要删除键/值以及" testApp"类。
谢谢!
我已成功完成创建。 创建就像修改一样,如果路径不存在,则会创建它。 至少在允许的范围内。 尝试在Microsoft / Windows域中设置密钥可能是您遇到的问题。
首先,设置组织和应用程序名称。 然后,使用默认构造函数创建的每个QSettings都会获取这些信息,并且当您尝试设置特定值时,它将在注册表中创建结构:
QCoreApplication::setOrganizationName("MyCompany");
QCoreApplication::setApplicationName("testApp");
...
QSettings Settings;
Settings.setValue("start", 4);
将创建注册表项,其起始值为4
HKEY_CURRENT_USER\Software\MyCompany\testApp\
之后,每次调用QSettings :: setValue都会修改给定键的值。
我不知道删除。
你不能
QSettings可以将Windows注册表用作Windows平台上的后端,以存储其设置。
它不是访问注册表的通用API。
但是其他应用程序如何创建/删除注册表项? 谢谢。