Как получить значение в реестре?
Как получить код текущего системного языка windows 10, попробовал так
from winreg import *
aReg = ConnectRegistry(None,HKEY_LOCAL_MACHINE)
aKey = OpenKey(aReg, r"SYSTEM\CurrentControlSet\Control\Nls\Language")
for i in range(1024):
try:
keyname = EnumKey(aKey, i)
asubkey = OpenKey(aKey, keyname)
val = QueryValueEx(asubkey, "DisplayName")
print(val)
except WindowsError:
break
Одни ошибки, хотя если искать по пути SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, выводит значение в реестре.Пробовал вводить InstallLanguage вместо DisplayName не помогло.
Ответы (1 шт):
Автор решения: Develop
→ Ссылка
Если кому-то будет нужно, то сделал так
from winreg import *
aReg = ConnectRegistry(None,HKEY_LOCAL_MACHINE)
aKey = OpenKey(aReg, r"SYSTEM\CurrentControlSet\Control\Nls\Language")
keyname = EnumValue(aKey, 2)
print(keyname[1])
EnumValue - функция которая получает значение поля реестра по индексу - второе значение(2)
keyname - словарь в котором 3 значения:
- Имя поля
- Значение
- Тип данных
https://docs.python.org/3/library/winreg.html#exception-changed