在注册表中创建密钥

时间:2013-11-06 07:32:40

标签: c# wpf registry

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

  

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION。

任何人都可以通过安装程序类OnBeforeInstall方法建议如何执行此操作。

此致

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码创建密钥并放置值。

 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");
希望这可能有所帮助。

答案 1 :(得分:0)

安装 Microsoft.Win32.Registry NuGet 包,然后像这样使用它:

    var keyName = @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION";
    Registry.SetValue(keyName , "myapp.exe", 2710, RegistryValueKind.DWord);

设置值会在它丢失时添加它。

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

相关问题