как на c# в реестре по значению параметра узнать его имя

есть игра которая при установке в реестре по пути(Компьютер\HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache) создает параметр с данными значениями:

в имени параметра полный путь до файла .exe тип параметра REG_SZ и значение это название экзэшника но без .exe

пример параметра: диск:\папка\папка\game\start.exe.FriendlyAppName

суть вопроса такова как узнать это самое имя по значению(которое известно) параметра а также известно часть пути(пример:(\game\start.exe)) имя параметра это искомый путь который нужен

как вариант можно выполнять поиск параметра по известной части


Ответы (1 шт):

Автор решения: FoxyHopper Dev
using Microsoft.Win32;
using System;

class RegistryChecker
{
    static void Main()
    {
        string registryPath = "Ваш_Путь_К_Реестру";
        string knownValue = "Известное_Значение";

        CheckRegistry(registryPath, knownValue);
    }

    static void CheckRegistry(string path, string knownValue)
    {
        using (RegistryKey key = Registry.LocalMachine.OpenSubKey(path))
        {
            if (key != null)
            {
                foreach (string valueName in key.GetValueNames())
                {
                    object value = key.GetValue(valueName);

                    if (value != null && value.ToString() == knownValue)
                    {
                        Console.WriteLine($"Найдено совпадение в реестре: {path}\\{valueName}");
                    }
                }
            }
            else
            {
                Console.WriteLine($"Невозможно открыть ключ реестра: {path}");
            }
        }
    }
}
→ Ссылка