1

私は C# にかなり慣れていないことを強調して、これを前置きしたいと思います。

この方法を使用して、CPU コア パーキングを無効にするために、レジストリ値を見つけて編集するプログラムを作成しようとしています: Registry Edit

問題は、キーの開始を知っていることです:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\PowerSettings\

しかし、次の部分ではありませんが、その後のセグメントは知っています:

0cc5b647-c1df-4637-891a-dec35c318583

したがって、次のようになっているとします。

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\PowerSettings\<UNKNOWN>\0cc5b647-c1df-4637-891a-dec35c318583

使用しているレジストリとレジストリ キーを見つけるにはどうすればよいですか? すべてのサブキーをループしようとしましたが、返されるのは null だけであるため、例外が発生します。

任意の提案をいただければ幸いです。

4

2 に答える 2

1

レジストリキーの名前を適切な方法で言及するのを忘れていたと思います。出力を引き出すコードは次のとおりです。

class Program
{
    static void Main(string[] args)
    {
        RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion");
        foreach (var v in key.GetSubKeyNames())
        {
            RegistryKey key1 = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\" + v);
            foreach ( var v1 in key1.GetSubKeyNames())
            {
                if (v1 == "{00EC8ABC-3C5A-40F8-A8CB-E7DCD5ABFA05}")
                Console.WriteLine(key1);
            }
        }
    }
}

これがうまくいくかどうか教えてください。

于 2014-02-09T05:17:14.990 に答える