查看完整版本: [-- Qt5QSettings读写注册表 --]

QTCN开发网 -> Qt基础编程 -> Qt5QSettings读写注册表 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

kongxz 2021-03-26 09:44

Qt5QSettings读写注册表

  1. QSettings *settings = new QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Test1", QSettings::NativeFormat);


Test1是我在注册表里手动添加的测试用项。
QSettings::NativeFormat读取打开的情况下一切正常。
但是以QSettings::IniFormat存储的模式下写入内容
  1. settings->setValue("Test", 1);
则会在我生成exe目录下重新建立一套文件夹 HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\
有人知道这是什么原因吗




20091001753 2021-03-26 11:43
QSettings::IniFormat,表示运用文件系统存储配置。
所以会把你输入的路径理解成文件路径。

QSettings::NativeFormat,表示系统推荐的方式存储配置。
不同的系统不一样,win系统下,就是注册表。

kongxz 2021-03-26 13:16
感谢,我的理解错误。
以Native模式其实是可以写进去的,不过需要管理员权限。


查看完整版本: [-- Qt5QSettings读写注册表 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled