3

我试过

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

这没有用。

4

2 回答 2

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

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

  2. 设定值

    settings.setValue("Start", 4);

于 2014-11-12T07:28:07.847 回答
3

由于 Qt 是一个多平台 SDK,它旨在隐藏实现细节,例如在 Windows 的注册表中存储设置的位置。正如它所说

QSettings 类提供与平台无关的持久应用程序设置....QSettings 是围绕这些技术的抽象

如果您查看QSettings的文档,则没有可用的构造函数或函数来设置特定的注册表项;只有 Windows 支持注册表,其他平台使用不同的机制。

如果您尝试保存应用程序的设置,请不要担心它们的存储位置或方式。但是,如果您想直接在注册表中更改值,我建议使用 Windows SDK 中的函数,而不是 QSettings。

于 2014-11-12T09:13:36.163 回答