C# 禁用Windows任务管理器,使其无法终止我的进程

C# 禁用Windows任务管理器,使其无法终止我的进程,c#,winforms,C#,Winforms,我构建了一个可以计算时间的应用程序。 两个小时后,上面写着“请停止玩,否则我将关闭电脑”。 因此,我哥哥可以从“Windows任务管理器”停止进程。 有可能阻止它吗?所以他不能从那里杀了它 我尝试过在windows窗体关闭时重新打开应用程序-还有其他方法吗?哈哈,对你哥哥好。他是一个正在发展中的黑客 您需要以管理员权限运行该进程,并确保他的登录名具有管理员权限。也许使用服务是一种更好的方法,因为在任务管理器中很难找到它,如果“被杀死”,它应该自动重新启动,但是,只要用户拥有管理员权限,他就始终能

我构建了一个可以计算时间的应用程序。

两个小时后,上面写着“请停止玩,否则我将关闭电脑”。 因此,我哥哥可以从“Windows任务管理器”停止进程。 有可能阻止它吗?所以他不能从那里杀了它


我尝试过在windows窗体关闭时重新打开应用程序-还有其他方法吗?

哈哈,对你哥哥好。他是一个正在发展中的黑客


您需要以管理员权限运行该进程,并确保他的登录名具有管理员权限。

也许使用服务是一种更好的方法,因为在任务管理器中很难找到它,如果“被杀死”,它应该自动重新启动,但是,只要用户拥有管理员权限,他就始终能够禁用这些东西


请参阅关于如何使用C#创建服务的说明。

一般来说,这是不可能的。只要用户拥有管理权限,他就可以终止任何进程


我建议您将应用程序作为windows服务来实现和运行。管理员也可以停止该服务。但是没有管理权限的用户是不允许这样做的。

可能有点过度杀戮(在C#中不太可能),但是您可以编写一个实现计时器的DLL,并将其注入另一个进程(例如Explorer.exe),这意味着它不会作为单独的进程出现在任务管理器中,所以不可能以这种方式杀人。

我可能不应该提及这一点,因为它很容易被滥用,但知识需要自由,对吗


如果您以
系统
用户的身份运行进程,则即使以管理员身份登录,也无法关闭进程。很简单,如果您使用它来运行流程,请查看此博客帖子以了解详细信息:

为什么不让他与受限操作系统用户一起玩游戏?1)很好的方式,任何关于我作为管理员如何处理流程的公会都知道吗?谢谢2) 你知道还有别的办法吗?再次感谢!:)1) 取决于你的应用程序是如何启动的。如果它来自计划任务,则有一个安全选项。2) 这取决于操作系统——在XP上,即使是作为系统运行的进程也可能被管理用户杀死。