RegistryKey localMachineRegistry = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,RegistryView.Registry64);
string[] list = localMachineRegistry.GetSubKeyNames();
RegistryKey key = localMachineRegistry.OpenSubKey(keyPath, false);
list = key.GetSubKeyNames();
我在 64 位操作系统上。我正在运行的进程是 32 位的,但我知道注册表设置在 wow64 区域。调用localMachineRegistry.GetSubKeyNames()
返回 32 位信息,当我使用 wow64 regedit 创建密钥时,调用localMachineRegistry.OpenSubKey()
返回null
。
我能想到的只是一个 32 位进程不能使用 RegistryView.Registry64 但是我没有读过。