Я пытаюсь прочитать MachineGuid ключ из реестра Windows, используя QSettings .
Адрес этого ключа
"HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography".
Я использую QSettings с флагом QSettings :: Native следующим образом.
QSettings settings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography",QSettings::NativeFormat);
Я вижу все подпапки и их ключи, а также значение MachineGuid из regedit.exe , но функция значение QSettings не похоже, работает правильно.
Результаты выглядят следующим образом:
settings.value("MachineGuid").toString();
возвращает пустую строку QString.
settings.childGroups();
возвращает все подпапки папки Cryptography правильно.
settings.childKeys();
возвращает пустой QStringList
settings.allKeys();
возвращает все ключи в папке Cryptography, включая ключи во всех подпапках, кроме MachineGuid
, который находится внутри Cryptography.
Я использую Qt 5.7.1, построенную статически с использованием Visual Studio 2015 в Windows 10.
Я пробовал коды, которые используют заголовок Window.h , и я успешно извлек это значение, но проблема с этим подходом заключается в том, что мне нужно добавить много DLL в мое выпущенное программное обеспечение.