2009-06-03 10 views
0

Ich habe folgenden Code verwendet, um die Windows-Systemsteuerung zu deaktivieren. Es deaktiviert erfolgreich die Systemsteuerung, aber es benötigt einen Systemneustart, um Änderungen anzuwenden. Weiß jemand, wie ich diese Änderungen sofort auf die Systemsteuerung anwenden kann, ohne dass ein Systemneustart erforderlich ist? Kann mir jemand helfen?disable controlpanel

 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; 
+0

ein Gruppenrichtlinienobjekt verwenden. Explorer erkennt Gruppenrichtlinienobjekte und aktualisiert den Richtliniencache, wenn ein Gruppenrichtlinienobjekt angewendet wird. –

Antwort

0

Sie könnten versuchen, Gpupdate auszuführen, nachdem Sie die Registrierungsänderungen vorgenommen haben. Dies sollte theoretisch die Gruppenrichtliniendetails neu laden und daher die Systemsteuerung deaktivieren.

+0

Danke für Ihre Antwort, Gpupdate wird nicht funktionieren gpedit/Ziel: Benutzer/Kraft gpedit/Ziel: Computer/Kraft jede andere Methode –

+0

ist eine andere Methode, um Änderungen sofort zu aktualisieren –

0

wird der folgende Code deaktivieren:

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

Und der Code aktiviert erneut zu:

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