我正在尝试检测其计算机上安装的用户Steam游戏,我希望能够为每个安装找到合适的.exe并通过该目录回溯以获得完整路径。
我意识到有几种不同的游戏对可执行文件(hl2.exe)使用相同的名称,但它们位于不同的文件夹中。
显然这意味着我不能只搜索特定的游戏.exe来获取所需的目录,因为它们是同一个名字,我想到的一个想法就是搜索每一个提到的“hl2.exe”。用户计算机并创建一个条目列表,理论上应该显示每个实例的路径。
在没有向您展示的情况下解释有点困难,但令人惊讶的是,在Windows 7中搜索“hl2.exe”时没有显示结果..
如果可能,我想将编程语言保留用于C#!
答案 0 :(得分:3)
我不知道这是否万无一失,但这是一个想法。
如果您打开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
答案 1 :(得分:2)
如果您想按照Valve的方式进行操作,则需要使用代码来读取Steam的clientregistry.blob
二进制数据文件。
在C#中存在一些浮动(主要来自人们试图盗版游戏的网站。)我为SDK工具项目做了Java version。
这将提供有关用户“拥有”的游戏所需的信息,以及有关文件路径的一些数据。
答案 2 :(得分:0)
另一个角度是什么关于捎带Windows游戏文件夹? 据我所知,所有蒸汽游戏都会自动添加到Windows游戏文件夹中,您可以在重新设置下找到所有游戏及其启动可执行文件的列表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX
如果你看下
c:\users\<username>\appdata\local\Microsoft\windows\game explorer
您可能会找到有关用户统计信息的信息