启用/禁用TaskManager

public static void ToggleTaskManager(string keyValue) { RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"); objRegistryKey.SetValue("DisableTaskMgr", keyValue); objRegistryKey.Close(); } private void btnDisableTaskManager_Click(object sender, EventArgs e) { ConsoleDisplay.ToggleTaskManager("1"); } private void btnEnableTaskManager_Click(object sender, EventArgs e) { ConsoleDisplay.ToggleTaskManager("0"); } 

对于上面使用的禁用/启用TaskManagerfunction但是当我第一次禁用时它会正确禁用。但是当我点击启用按钮时,未启用TaskManager。

是的,删除将起作用。 意思是,使用此代码切换:

  public void ToggleTaskManager() { RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey( @"Software\Microsoft\Windows\CurrentVersion\Policies\System"); if (objRegistryKey.GetValue("DisableTaskMgr") == null) objRegistryKey.SetValue("DisableTaskMgr", "1"); else objRegistryKey.DeleteValue("DisableTaskMgr"); objRegistryKey.Close(); } 

或者这个代码来设置:

  public void SetTaskManager(bool enable) { RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey( @"Software\Microsoft\Windows\CurrentVersion\Policies\System"); if (enable && objRegistryKey.GetValue("DisableTaskMgr") != null) objRegistryKey.DeleteValue("DisableTaskMgr"); else objRegistryKey.SetValue("DisableTaskMgr", "1"); objRegistryKey.Close(); } 

尝试删除密钥而不是将值设置为False

试试这个:

  public void SetTaskManager(bool enable) { RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey( @"Software\Microsoft\Windows\CurrentVersion\Policies\System"); if (enable && objRegistryKey.GetValue("DisableTaskMgr") != null) objRegistryKey.DeleteValue("DisableTaskMgr"); else objRegistryKey.SetValue("DisableTaskMgr", "1"); objRegistryKey.Close(); } 

对于启用/可靠:(抱歉,我的英语非常糟糕…)

  private void Form1_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.F1: { SetTaskManager(Convert.ToBoolean(1)); } break; } 

注意:您必须具有管理员权限才能运行该程序。

答案4是Okey但Uu需要一个更多的代码,这个%100真( RegistryValueKind.DWord );

 RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey( @"Software\Microsoft\Windows\CurrentVersion\Policies\System"); if (objRegistryKey.GetValue("DisableTaskMgr") == null) objRegistryKey.SetValue("DisableTaskMgr", "1", RegistryValueKind.DWord); else objRegistryKey.DeleteValue("DisableTaskMgr"); objRegistryKey.Close(); 

要禁用TaskManager,您必须在注册表(用户本地计算机而不是当前用户)中设置DWord字符串。 使用以下代码。(它在Windows 7中不起作用)

 Microsoft.Win32.RegistryKey key; key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",true); key.SetValue("DisableTaskMgr", "1", RegistryValueKind.DWord); key.Close(); 

for该用户应用程序必须在Admin Permission下运行。 更改app.manifest中的更改,以便在管理员权限中使用应用程序