0

私はWPFアプリケーションを開発しています。myapp.exeキー、値 ( 、 )を使用して、以下のパスのレジストリにキーを作成したいと考えています2710

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

インストーラークラス、OnBeforeInstallメソッドからこれを行う方法を提案できますか?

よろしく

4

2 に答える 2

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);

値を設定すると、欠落している場合に追加されます。

詳細については、ドキュメントを参照してください。

于 2020-12-21T19:19:48.963 に答える
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");

これが役立つことを願っています。

于 2013-11-06T07:55:21.497 に答える