C# 在注册表中创建注册表项

C# 在注册表中创建注册表项,c#,wpf,registry,C#,Wpf,Registry,我正在开发一个WPF应用程序。我想在下面的路径中的注册表中创建一个项 使用键和值(myapp.exe,2710) HKEY\本地\计算机\软件\ Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE\浏览器\仿真 任何人都可以从installer类,OnBeforeInstall方法中建议如何执行此操作 关于您可以使用下面的代码创建一个键并输入值 private string _subKey = "SOFTWARE\\Microsoft

我正在开发一个WPF应用程序。我想在下面的路径中的注册表中创建一个项 使用键和值(
myapp.exe
2710

HKEY\本地\计算机\软件\ Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE\浏览器\仿真

任何人都可以从installer类,
OnBeforeInstall
方法中建议如何执行此操作


关于

您可以使用下面的代码创建一个键并输入值

 private string _subKey = "SOFTWARE\\Microsoft\\Internet Explorer\\MAIN\\FeatureControl\\FEATURE_BROWSER_EMULATION";
    private string SubKey
    {
        get { return _subKey; }
        set { _subKey = value; }
    }

    private RegistryKey _baseRegistryKey = Registry.LocalMachine;

    private RegistryKey BaseRegistryKey
    {
        get { return _baseRegistryKey; }
        set { _baseRegistryKey = value; }
    }

   private bool WriteDbToRegistry(string keyName, object value)
    {
        try
        {
            var rk = BaseRegistryKey;
            var sk1 = rk.CreateSubKey(SubKey);
            if(sk1 != null) sk1.SetValue(keyName.ToUpper(), value);
            return true;
        }
        catch(Exception e)
        {
            MessageBox.Show("Please run your App as Administrator.", "Administrator");
            return false;
        }
    }

 bool results = WriteDbToRegistry("myapp.exe", "2710");

希望这可能会有所帮助。

安装Microsoft.Win32.RegistryNuGet软件包,然后像这样使用它:

var keyName=@“HKEY\U本地\u机器\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE\u浏览器\u仿真”;
SetValue(键名“myapp.exe”,2710,RegistryValueKind.DWord);
如果缺少该值,设置该值将添加该值


您可以在中找到更多信息。

我必须创建一个32位的DWORDi无法创建密钥它正在编译并且没有错误…但是我没有创建条目。还有人建议我使用Registry.LocalMachine.OpenSubKey(@“SOFTWARE\Microsoft\internetexplorer\MAIN\FeatureControl\FEATURE\u BROWSER\u EMULATION”,true);我被要求在onbeforeinstall方法中插入此代码,但它也不起作用