我希望在我的C# Winform应用程序中强制Web浏览器使用IE10。我知道有其他类似的问题,但我已经阅读了很多,并不知道哪里出错了。
以下是我的代码:
即使我的指令是:
如果我只在x64模式下运行我的程序,进入属性/生成/x64,它将不会在我的原始路径中写入键。
以下是我的代码:
RegistryKey registrybrowser = Registry.LocalMachine.OpenSubKey
(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", true);
registrybrowser.SetValue("myAppName", 0x02710, RegistryValueKind.DWord); //Even with QWord
我尝试了不同的方法来设置值,例如:
registrybrowser.SetValue("myAppName", 1000, RegistryValueKind.DWord); //Even with QWord and String
registrybrowser.SetValue("myAppName", 1000); //even with 0x02710
在InitializeComponent()之前的我的主要项目构造函数中编写了它。
我已经在.manifest文件中设置了管理员权限。
感谢大家,BlackShawarna。
编辑:我发现RegistryKey.SetValue(...)创建了另一个路径中的密钥:
(@"SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION")
即使我的指令是:
Registry.LocalMachine.OpenSubKey
(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", true);
我认为这是因为IE10在32位模式下工作。然而,我不明白为什么它会写入那个路径,即使我指定了另一个路径,并且最重要的是,为什么我的应用程序即使我打开Registry.LocalMachine.OpenSubKey(@"Software\Wow6432Node...."),也无法运行。如果我只在x64模式下运行我的程序,进入属性/生成/x64,它将不会在我的原始路径中写入键。