c# - 启用/禁用任务管理器

标签 c# .net regedit

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

对于禁用/启用任务管理器使用上述功能,但当我第一次禁用时,它会正确禁用。但是当我单击启用按钮时,任务管理器未启用。

最佳答案

是的,删除可以。意思是,使用此代码进行切换:

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

关于c# - 启用/禁用任务管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16610567/

相关文章:

c# - 根据存储的时区修改 ASP.NET MVC C# 中的日期

c# - 使用语句似乎没有处理我的对象

c# - 无法从 VS2010 调试

c# - 什么是IPC?我该如何使用它?

vbscript - 遍历注册表子文件夹

c# - TSQL - 从具有多个连接路径的表中选择

c# - 在多值列上写入不带引号的 CSV

c# - 非泛型类型 'System.Collections.IEnumerable' 不能与类型参数一起使用

windows-7 - RegEdit 在启动时以管理员身份运行 .exe

vb.net - Windows 下拉菜单将文件名传递给 vb.net 程序