问题描述
我要读取"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography",
QSettings settings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography",NativeFormat);
QString value = settings.value("MachineGuid", "").toString();//读
得到个值为空。
解决办法
最后在 stackoverflow上找到了解决办法。
改为
QSettings settings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography",
QSettings::Registry64Format);
就好了。
原因是: NativeFormat 参数只有在程序跟系统版本一致的时候才行。
如果程序是32位,系统是64位,就要专门指定了。
而我的系统是win10 64位,因此改一下就好了。