Как прочитать путь установки Steam из реестра Windows? - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь разработать простую Python программу, которая автоматически определяет местоположение папки установки steam.
Я знаю, эту информацию можно найти в реестре по следующему пути:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Valve\Steam

Например:
Как читать информацию с InstallPath REG_SZ, чтобы получить:
C:\Program Files (x86)\Steam

Если кто-либоможет помочь, что было бы здорово

1 Ответ

0 голосов
/ 15 октября 2019

Вы можете использовать [Python 3.Docs]: winreg - доступ к реестру Windows .

Хотя в вопросе отсутствует какая-либо попытка решить проблему самостоятельно, вот пример:

>>> import sys
>>> import winreg
>>>
>>> try:
...     hkey = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\WOW6432Node\Valve\Steam")
... except:
...     hkey = None
...     print(sys.exc_info())
...
>>> hkey
<PyHKEY object at 0x00000154FF5D0390>
>>>
>>> try:
...     steam_path = winreg.QueryValueEx(hkey, "InstallPath")
... except:
...     steam_path = None
...     print(sys.exc_info())
...
>>> steam_path
('C:\\Program Files (x86)\\Steam', 1)
>>> steam_path[0]
'C:\\Program Files (x86)\\Steam'
>>> steam_path[1] == winreg.REG_SZ
True
>>>
>>> winreg.CloseKey(hkey)

Примечания :

  • Мне пришлось создать записи реестра, так как у меня нет Установленные компоненты Steam
  • Обработка исключений предназначена только для демонстрационных целей (учитывая тот факт, что в консоли), вы должны уточнить это немного
  • При работе с 32bit Python , вы должны удалить \ WOW6432Node из имени ключа (и возвращаемый путь будет немного отличаться)
...