如何在qt中添加/更改注册表?

3

我尝试过

QSettings mSettings; 
mSettings.setValue("HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/USBTOR/Start",   4);

这个没用。

2个回答

10
  1. 使用注册表路径初始化 QSettings(确保在注册表路径中使用反斜杠)

    QSettings settings("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\USBTOR", QSettings::NativeFormat);

  2. 设置数值

    settings.setValue("Start", 4);


3
由于Qt是一个跨平台的SDK,它被设计成隐藏实现的细节,例如在Windows注册表中存储设置的位置。正如文档所述:
“QSettings类提供了持久的、与平台无关的应用程序设置......QSettings是围绕这些技术的抽象。”
如果您查看QSettings的文档,将没有可用的构造函数或函数来设置特定的注册表键;只有Windows支持注册表,其他平台使用不同的机制。
如果您想要为应用程序保存设置,不必担心它们存储的位置或方式。但是,如果您想要直接更改注册表中的值,建议使用Windows SDK中的功能,而不是QSettings。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接