• 1864阅读
  • 2回复

[提问]Qt5QSettings读写注册表 [复制链接]

上一主题 下一主题
离线kongxz
 

只看楼主 倒序阅读 楼主  发表于: 2021-03-26
  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

只看该作者 1楼 发表于: 2021-03-26
QSettings::IniFormat,表示运用文件系统存储配置。
所以会把你输入的路径理解成文件路径。

QSettings::NativeFormat,表示系统推荐的方式存储配置。
不同的系统不一样,win系统下,就是注册表。
(づ ̄ 3 ̄)づ
离线kongxz

只看该作者 2楼 发表于: 2021-03-26
感谢,我的理解错误。
以Native模式其实是可以写进去的,不过需要管理员权限。
快速回复
限100 字节
 
上一个 下一个