怎样用C#代码屏蔽任务管理器?

时间:2021-10-15 07:57:29

这是我在网上找的并多加了一些我自己需要的代码,经过我的测试,可以屏蔽任务管理器,但还有一些瑕疵。

首先,我在vs2012中新建一个项目,选择window下的window窗体应用程序,把窗体form1拉入一个测试

用的按钮button,设置name为btnTask,text为"禁用任务管理器",双击按钮btnTask,进入btnTack_Click

(object o,...){}事件中,通过代码改变注册表的任务管理器的禁用和启用,代码如下:

private void btnTask_Click(object sender, EventArgs e)
        {

     //获取按钮的文本
            string str = this.btnTask.Text;
            //读取window注册表中的HIKEY_CURRENT_USER
            RegistryKey key = Registry.CurrentUser;
            //打开或创建一个子项并访问
            key = key.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
            if (str == "禁用任务管理器") {
                key.SetValue("DisableTaskMgr",1,RegistryValueKind.DWord);
                if(MessageBox.Show("禁用成功")==DialogResult.OK){
                    this.btnTask.Text = "启用任务管理器";
                    Refresh();
                }
            }
            else if (str == "启用任务管理器") {
                key.SetValue("DisableTaskMgr",0, RegistryValueKind.DWord);
                if (MessageBox.Show("启用成功") == DialogResult.OK)
                {
                    this.btnTask.Text = "禁用任务管理器";
                }
            }
            key.Close();
        }