c#中禁用windows的任务管理器的方法

 更新时间:2014年06月11日 11:59:38   投稿:junjie  
这篇文章主要介绍了c#中禁用windows的任务管理器的方法,通过注册表实现禁用,需要的朋友可以参考下

以前制作的桌面锁屏软件虽然也禁用过任务管理器,但是采取的是比较笨的方法,而且对操作系统还有一定的危害。因为任务管理也是一个窗体也就是说它中也是一个独立进程,所以只需要强制性关闭这个进程即可以关闭任务管理器了,任务管理的进程名称为“taskmgr”,在程序用一个单独的计时器,每100毫秒遍历一次系统开启的所有的进程,但凡出现进程的名称与任务管理器名称相同直接关闭。这样就可以间接的达到禁用任务管理的作用,然而这种方法不能够常用,如果经常强制性的关闭任务管理的进程会错乱操作系统的消息处理。所以当时写的桌面管理软件就没有真正的被实用起来。

本次实现禁用任务管理的原理是直接修改系统的注册表,以达到让任务管理器禁用的目的,修改任务管理器的注册表项为:

复制代码 代码如下:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System

在这个项中添加一个键:DisableTaskmgr  ,当值为1的则是禁用任务管理器,当值为0的时候则是启用任务管理器,我的电脑默认是没有system这个项的。

上面将原理已经介绍了,下面将列出如何用c#实现这一功能的代码。

复制代码 代码如下:

        /// <summary>

        /// 管理任务管理器的方法
        /// </summary>
        /// <param name="arg">0:启用任务管理器 1:禁用任务管理器</param>
        private void ManageTaskManager(int arg)
        {
            RegistryKey currentUser = Registry.CurrentUser;
            RegistryKey system = currentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System",true );
            //如果system项不存在就创建这个项
            if (system == null)
            {
                system = currentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
            }
            system.SetValue("DisableTaskmgr", arg, RegistryValueKind.DWord);
            currentUser.Close();
        }

通过使用这个方法就可以在程序中禁用任务管理器。

还的记住要加上以下的引用才行:
Microsoft.Win32;

相关文章

  • C#时间格式转换为时间戳的方法步骤

    C#时间格式转换为时间戳的方法步骤

    这篇文章主要介绍了C#时间格式转换为时间戳的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Entity Framework映射TPH、TPT、TPC与继承类

    Entity Framework映射TPH、TPT、TPC与继承类

    这篇文章介绍了Entity Framework映射TPH、TPT、TPC与继承类,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C# 10分钟完成百度人脸识别(入门篇)

    C# 10分钟完成百度人脸识别(入门篇)

    这篇文章主要介绍了C# 10分钟完成百度人脸识别(入门篇),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • C#中使用CAS实现无锁算法的示例详解

    C#中使用CAS实现无锁算法的示例详解

    CAS(Compare-and-Swap)是一种多线程并发编程中常用的原子操作,用于实现多线程间的同步和互斥访问。本文将利用CAS实现无锁算法,需要的可以参考一下
    2023-04-04
  • C#实现文件上传下载Excel文档示例代码

    C#实现文件上传下载Excel文档示例代码

    这篇文章主要介绍了C#实现文件上传下载Excel文档示例代码,需要的朋友可以参考下
    2017-08-08
  • Unity的AssetPostprocessor Model动画函数使用案例深究

    Unity的AssetPostprocessor Model动画函数使用案例深究

    这篇文章主要介绍了Unity的AssetPostprocessor Model动画函数使用案例的深入解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • c#反射机制学习和利用反射获取类型信息

    c#反射机制学习和利用反射获取类型信息

    反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道
    2014-01-01
  • C#使用Clipboard类实现剪贴板功能

    C#使用Clipboard类实现剪贴板功能

    这篇文章介绍了C#使用Clipboard类实现剪贴板功能的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#实现日期格式转换的公共方法类实例

    C#实现日期格式转换的公共方法类实例

    这篇文章主要介绍了C#实现日期格式转换的公共方法类,结合完整实例形式分析了C#针对各种常见日期格式的转换方法,涉及C#字符串、日期、时间相关操作技巧,需要的朋友可以参考下
    2017-01-01
  • Unity实现首字母检索器

    Unity实现首字母检索器

    这篇文章主要为大家详细介绍了Unity实现首字母检索器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11

最新评论