Как узнать куда Steam установил игру?

Всё для взлома и эмуляции Steam.
Ответить
Сообщение
Автор
Аватара пользователя
Raf-9600
Сержант
Сержант
Сообщения: 44
Зарегистрирован: 14.10.2006
Благодарил (а): 26 раз
Поблагодарили: 8 раз
Контактная информация:

#1 Сообщение 28.06.2015, 21:20

Изредка делаю программы и руссификаторы для Steam игр, и каждый раз сталкиваюсь с необходимостью выяснить в какую папку установлена игра. Steam наверняка где-то эти данные записывает, чтобы не забыть. Кто-нибудь подскажет, куда именно он их записывает?
Последний раз редактировалось Raf-9600 28.06.2015, 22:50, всего редактировалось 1 раз.

Аватара пользователя
Monk
VIP
VIP
Сообщения: 4713
Зарегистрирован: 21.11.2009
Благодарил (а): 418 раз
Поблагодарили: 1053 раза
Контактная информация:

#2 Сообщение 28.06.2015, 21:53

Папка steamapps, находишь acf нужной игры, там смотришь значение параметра installdir

Поэксперементируй с несколькими библиотеками для сравнения.

Аватара пользователя
Raf-9600
Сержант
Сержант
Сообщения: 44
Зарегистрирован: 14.10.2006
Благодарил (а): 26 раз
Поблагодарили: 8 раз
Контактная информация:

#3 Сообщение 28.06.2015, 22:57

Monk
Я не совсем это имел в виду. Мне нужно не название папки с игрой, а полный путь к ней. Вот к примеру у меня на двух винчестерах две папки SteamLibrary, как сам Steam узнаёт что допустим Worms Revolution находится в той SteamLibrary что на диске D:\ ?

Аватара пользователя
Monk
VIP
VIP
Сообщения: 4713
Зарегистрирован: 21.11.2009
Благодарил (а): 418 раз
Поблагодарили: 1053 раза
Контактная информация:

#4 Сообщение 28.06.2015, 23:04

Raf-9600
оно работает наоборот.
Сначала он смотрит файл libraryfolders.vdf и добавляет папки оттуда к корневой стандартной папке.
А потом, в этих папках уже читает acf и достраивает иерархию игр и путей к ним.

Грю же, поэксперементируй с библиотеками, чтобы понять.

Аватара пользователя
Raf-9600
Сержант
Сержант
Сообщения: 44
Зарегистрирован: 14.10.2006
Благодарил (а): 26 раз
Поблагодарили: 8 раз
Контактная информация:

#5 Сообщение 06.07.2015, 09:47

Хм. Вроде бы нашёл способ проще чем вы описали. Стим для каждой установленой игры создаёт пункт в "Установка и удаление программ", а для этого ему требуется заносить сведения в реестр. В общем самый простой путь увидеть куда установлена игра это посмотреть в реестре:

Код: Выделить всё

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 200510
InstallLocation
Где 200510 это ID нужной игры.

Аватара пользователя
Monk
VIP
VIP
Сообщения: 4713
Зарегистрирован: 21.11.2009
Благодарил (а): 418 раз
Поблагодарили: 1053 раза
Контактная информация:

#6 Сообщение 06.07.2015, 13:28

Тоже вариант. Единственное уточнение - реестр после переустановки винды будет чист, а вот стим игры свои вполне найдет. В остальном - не вижу проблем.

Аватара пользователя
Raf-9600
Сержант
Сержант
Сообщения: 44
Зарегистрирован: 14.10.2006
Благодарил (а): 26 раз
Поблагодарили: 8 раз
Контактная информация:

#7 Сообщение 06.07.2015, 19:53

Да, но если реестр будет чист, то как узнать в какую папку установлен сам Стим, чтобы считать из его папки libraryfolders.vdf ?

Аватара пользователя
Monk
VIP
VIP
Сообщения: 4713
Зарегистрирован: 21.11.2009
Благодарил (а): 418 раз
Поблагодарили: 1053 раза
Контактная информация:

#8 Сообщение 06.07.2015, 23:24

Хм, сложный вопрос.
Есть Steam Client Service, он запускается из папки стима. Правда, его рабочую папку тоже нигде не записывают по моему, так что отследить можно только по работающему процессу.

ПС: потому и надо оставлять выбор пути в инсталяторах, кто его знает, чего там у людей в системе намудрено.

Ответить