QSettings讀取註冊表失敗

問題描述

我要讀取"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位,因此改一下就好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章