0

我使用以下代码禁用 Windows 控制面板。它成功禁用了控制面板,但需要重新启动系统才能应用更改。有谁知道我如何可以立即将这些更改应用到控制面板,而无需重新启动系统?任何人都可以帮助我吗?

        RegistryKey RegKey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer");
        RegKey.SetValue("NoControlPanel", true, RegistryValueKind.DWord); RegKey.Close();

        RegKey = Registry.LocalMachine.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer");
        RegKey.SetValue("NoControlPanel", true, RegistryValueKind.DWord); RegKey.Close();

        //registry
        RegKey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\
        Group Policy Objects\LocalUser\Software\Microsoft\Windows\CurrentVersion\Policies\System");
        RegKey.SetValue("DisableRegistryTools", true, RegistryValueKind.DWord); RegKey.Close();

        RegKey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
        RegKey.SetValue("DisableRegistryTools", true, RegistryValueKind.DWord); RegKey.Close();
        return true;
4

2 回答 2

0

更改注册表后,您可以尝试运行Gpupdate 。理论上,这应该重新加载组策略详细信息,因此禁用控制面板。

于 2009-06-03T11:35:55.573 回答
0

以下代码将禁用:

Microsoft.Win32.RegistryKey regkey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer");
                regkey.SetValue("NoControlPanel", true, Microsoft.Win32.RegistryValueKind.DWord);
                regkey.Close();

            regkey = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer");
            regkey.SetValue("NoControlPanel", true, Microsoft.Win32.RegistryValueKind.DWord);
            regkey.Close();

以及重新启用的代码:

Microsoft.Win32.RegistryKey regkey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer");
                regkey.SetValue("NoControlPanel", false, Microsoft.Win32.RegistryValueKind.DWord);
                regkey.Close();

            regkey = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer");
            regkey.SetValue("NoControlPanel", false, Microsoft.Win32.RegistryValueKind.DWord);
            regkey.Close();
于 2014-01-29T09:48:43.287 回答