在Wow6432Node中编写注册表值而不重定向

Luc*_*a's 4 c# registry wow64 visual-studio-2010

此代码插入注册表值

Microsoft.Win32.RegistryKey key;
            key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Internet Explorer\\MAIN\\FeatureControl\\FEATURE_BROWSER_EMULATION"); 
            key.SetValue("MyBrowser.exe", 8000);
            textBox1.Text = key.GetValue("MyBrowser.exe").ToString(); 
            key.Close();
Run Code Online (Sandbox Code Playgroud)

在Windows 32位工作,但在64位插入wow6432node如何禁用重定向?

Dav*_*nan 8

您需要使用RegistryView.Registry64打开密钥.您可以在OpenBaseKey方法中指定它,因此您需要稍微重新调整代码.


Han*_*ant 5

RegistryView仅在.NET 4上可用.您可能需要考虑允许程序作为64位进程运行,因此不会发生重定向.VS2010有新的行为,它迫使应用程序在新项目上以32位模式运行.Project + Properties,Build选项卡,将Platform目标更改为AnyCPU.