Files
HexUnlocked/src/dumper/utils.cs
T

36 lines
1017 B
C#

using Microsoft.Win32;
internal static class Utils
{
public static string? GetGamePath()
{
string? path;
path = TryGetXboxPath();
return path;
/*
* to-do:
* implement steam and epic
*/
}
private static string? TryGetXboxPath()
{
const string keyPath = @"Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Repository\Packages";
using RegistryKey? key = Registry.CurrentUser.OpenSubKey(keyPath);
if (key == null) return null;
string? match = key.GetSubKeyNames().FirstOrDefault(n => n.StartsWith(Constants.PackageName, StringComparison.OrdinalIgnoreCase));
if (match == null) return null;
using RegistryKey? subKey = key.OpenSubKey(match);
if (subKey == null) return null;
object? pkgRootFolder = subKey.GetValue("PackageRootFolder");
if (pkgRootFolder == null) return null;
return pkgRootFolder.ToString();
}
}