0

フォルダーオプションを無効にするためにレジストリキーを更新しましたが、ログオフしてWindowsにログインした後に有効になります。または、プロセスを再起動する関数を作成しexplorerます。オプションを変更するたびにエクスプローラープロセスを再起動するのは良くありません.. . WMI Windows Management インスツルメンテーションについて聞いたので、これについて検索しましたが、必要なものが見つかりません..私の実際のコードは次のとおりです。

        RegistryKey rk = Registry.CurrentUser;
        RegistryKey sk1,sk2;


private void Form1_Load(object sender, EventArgs e)
        {


            domainUpDown1.SelectedIndex = 0;
            #region Start Check for Folder Options
            sk1 = rk.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\");
            dfo = sk1.GetValue("NoFolderOptions", "No Key").ToString();
            if (dfo == "No Key")
            {
                sk1.SetValue("NoFolderOptions", 0);
                button1.Text = "Disable Folder Options";
            }
            else if (dfo == "0")
            {
                button1.Text = "Disable Folder Options";
            }
            else if (dfo == "1")
            {
                button1.Text = "Enable Folder Options";
            }
            #endregion



        }

private void button1_Click(object sender, EventArgs e)
        {
            if (button1.Text=="Enable Folder Options")
            {
                sk1.SetValue("NoFolderOptions", 0, RegistryValueKind.DWord);
                button1.Text = "Disable Folder Options";
            }
            else if (button1.Text == "Disable Folder Options")
            {
                sk1.SetValue("NoFolderOptions", 1,RegistryValueKind.DWord);
                button1.Text = "Enable Folder Options";
            }
        }

そして、レジストリをすぐに更新するコードを追加しました。などを含むSendMessage...

4

1 に答える 1