我试图访问Wow6432Node内部的注册表中的一个路径,在其中写入一个值,但它不起作用。我尝试了不同的代码,但它仍然不起作用。我将其作为x64位Windows 10上的“任何CPU”运行。我怀疑它与x86和x64之间的注册表差异有关。我错了吗?C#上的注册表和Wow6432Node#
if (rv3.Checked == true)
{
string line2 = File.ReadLines(AppDomain.CurrentDomain.BaseDirectory + "simulators.txt").Skip(3).Take(1).First();
MessageBox.Show(line2);
if (System.IO.Directory.Exists(line2))
{
var baseReg = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
var Key = baseReg.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Microsoft Games\flight simulator\10.0\");
if (Key != null)
{
RegistryKey key2 = baseReg.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Microsoft Games\flight simulator\10.0\");
key2.SetValue("SetupPath", line2);
key2.Close();
}
}
}
亲切的问候!
>但它仍然没有工作。<这是不够的信息。 –
@LynnCrumbling,我的意思是说,注册表上的值仍然没有变化。但我没有得到任何例外。 – ctabuyo
您是否在Project Build设置中打开了“首选32位”?如果是这样,那么你的过程将是一个32位的过程。 –