如何在没有硬编码的情况下进入Steam游戏文件夹?
C:\Steam\steamapps\common\
我可以使用涉及steamappid
游戏的内容自动获取此信息,而不是在我的代码中进行硬编码吗?
要获得Steam游戏文件夹,您必须按照以下步骤操作:
找到Steam安装文件夹
检查Steam acf
文件和libraryfolders.vdf
你可以InstallPath
在Windows注册表中找到Steam :
32位: HKEY_LOCAL_MACHINE\SOFTWARE\Valve\Steam
64位: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Valve\Steam
您可以使用以下代码从注册表项中读取值:
Dim strSteamInstallPath as String = My.Computer.Registry.GetValue( "HKEY_LOCAL_MACHINE\SOFTWARE\Valve\Steam", "InstallPath", Nothing) MsgBox("The install path is " & strSteamInstallPath)
一旦你有Steam主文件夹(包含一个steam.exe
),你就可以从子文件夹中appmanifest_
包含的\steamapps
文件中读取游戏安装文件夹.
例如,appmanifest_2280.acf
包含有关的信息Ultimate Doom
.
您可以搜索特定内容steamappid
或分析每个文件并从name
密钥中获取游戏名称.
同时libraryfolders.vdf
在\steamapps
子文件夹中查看其他游戏安装文件夹.
例如,我有一些游戏,D:\mygames
所以我的libraryfolders.vdf
是:
"LibraryFolders" { "TimeNextStatsReport" "xxxxxxxxxxx" "ContentStatsID" "xxxxxxxxxxx" "1" "D:\\mygames" }
获得此备用文件夹后,请检查子文件夹中acm
包含的\steamapps
文件.