Управление обнаружением дублированных имен файлов - PullRequest
0 голосов
/ 08 августа 2010

Я пытаюсь обнаружить пользователей игр Steam, которые установлены на их компьютере, я хочу иметь возможность найти соответствующий .exe для каждой установки и вернуться через каталог, чтобы получить полный путь.

Я понял, что есть несколько разных игр, которые используют одно и то же имя для исполняемого файла (hl2.exe), но они находятся в разных папках.

Очевидно, это означает, что я не могу просто найти конкретную игру .exe, чтобы получить нужный каталог, потому что они имеют одно и то же имя, и я подумал об одной идее - искать все упоминания о «hl2.exe» в Пользователь компьютера и создать список записей из этого, он должен теоретически показывать пути для каждого экземпляра.

Немного сложно объяснить, не показав вам, но, что удивительно, поиск "hl2.exe" в Windows 7 не дает результатов ...

Я хотел бы сохранить язык программирования, используемый для C #, если это возможно!

Ответы [ 3 ]

3 голосов
/ 08 августа 2010

Не знаю, насколько это надежно, но вот мысль.

Если вы откроете Regedit и перейдете к Computer\HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall (если у вас 32-битная версия Windows, пропустите Wow6432Node часть пути), вы найдете одно "Steam App XXX" для каждой установленной игры, где XXX - это Steam ID установленной игры.

Внутри каждого есть DisplayName, которое дает вамназвание игры, а также InstallLocation для пути.

На моей машине у меня есть следующее:

Steam App 40100 - Supreme Commander 2
Steam App 41500 - Torchlight
Steam App 630   - Alien Swarm
Steam App 8980  - Borderlands
2 голосов
/ 06 июня 2011

Если вы хотите сделать это так, как это делает Valve, вам понадобится код для чтения файла двоичных данных clientregistry.blob Steam.

В C # есть что-то плавающее (в основном с сайтов, где люди пытаются пиратские игры). Я сделал Java-версию для проекта SDK-инструмента.

Он будет содержать необходимую вам информацию о том, какими играми «владеет» пользователь, а также некоторые данные о путях к файлам.

0 голосов
/ 08 августа 2010

Как еще один угол атаки, а как насчет поддержки папки с играми Windows? насколько я знаю, все Steam-игры автоматически добавляются в папку Windows Games, список всех игр и исполняемых файлов для их запуска в регестре под

.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX

Если вы посмотрите под

c:\users\<username>\appdata\local\Microsoft\windows\game explorer 

Вы можете найти информацию о статистике пользователей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...