Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 强制应用程序持续运行的保证方式(覆盖taskkill、TaskManager等)_C#_.net - Fatal编程技术网

C# 强制应用程序持续运行的保证方式(覆盖taskkill、TaskManager等)

C# 强制应用程序持续运行的保证方式(覆盖taskkill、TaskManager等),c#,.net,C#,.net,我有一个C安全/监控应用程序,无论发生什么情况,我都需要它运行。但是,我不能删除特权或限制对操作系统窗口部分的访问 我曾想过让一个保护服务持续运行,它监视应用程序是否正在运行,并在应用程序不知何故被终止时启动它,而应用程序监视保护服务,并在服务终止时启动服务。据我所知,您不能同时杀死多个进程 有没有更好的办法来保证应用程序始终运行?没有任何保证-如果用户有足够的权限,它可以终止您正在运行的程序或任何其他监控代码,这些代码将重新启动您的应用程序 想象一下如果这是真的-地球上的每一个间谍软件都会使用

我有一个C安全/监控应用程序,无论发生什么情况,我都需要它运行。但是,我不能删除特权或限制对操作系统窗口部分的访问

我曾想过让一个保护服务持续运行,它监视应用程序是否正在运行,并在应用程序不知何故被终止时启动它,而应用程序监视保护服务,并在服务终止时启动服务。据我所知,您不能同时杀死多个进程


有没有更好的办法来保证应用程序始终运行?

没有任何保证-如果用户有足够的权限,它可以终止您正在运行的程序或任何其他监控代码,这些代码将重新启动您的应用程序


想象一下如果这是真的-地球上的每一个间谍软件都会使用它。

没有保证-如果用户有足够的权限,它可以终止您的程序或您运行的任何其他监控代码,从而重新启动您的应用程序


想象一下,如果这是真的,地球上的每一个间谍软件都会使用它。

我会将您的程序编写为windows服务—将其配置为在启动时自动运行,并在意外终止时自动重新启动。由于必须允许用户控制计算机,因此您无法做得更好。

我将以windows服务的形式编写您的程序-将其配置为在启动时自动运行,并在意外终止时自动重新启动。由于必须允许用户控制计算机,因此您不能做得比这更好。

Windows团队一直收到这样的请求:

我想创造一个永远不会被扼杀的过程

我想做一个可以杀死任何进程的工具

那两个人中有一个会失望的

我想做一个窗口,无论发生什么,它总是位于所有其他窗口之上

我还想做一个窗口,总是在所有其他窗口之上,无论什么

那两个人中有一个会失望的

我想创建一个进程,它不会出现在任何进程列表中,无论列表程序多么聪明地试图找到我

我想制作一个列出所有进程的程序,不管进程如何巧妙地隐藏

那两个人中有一个会失望的

等等


我想你会成为失望的人之一

Windows团队一直收到这样的请求:

我想创造一个永远不会被扼杀的过程

我想做一个可以杀死任何进程的工具

那两个人中有一个会失望的

我想做一个窗口,无论发生什么,它总是位于所有其他窗口之上

我还想做一个窗口,总是在所有其他窗口之上,无论什么

那两个人中有一个会失望的

我想创建一个进程,它不会出现在任何进程列表中,无论列表程序多么聪明地试图找到我

我想制作一个列出所有进程的程序,不管进程如何巧妙地隐藏

那两个人中有一个会失望的

等等


我想你会成为失望的人之一

只要确保你有一些确定的杀戮过程信号。Windows Defender可能会将您的应用程序标记为间谍软件。您还需要保护服务保护服务,以确保用户不会以某种方式终止保护服务。然后您需要编写一个保护服务,以防他们杀死保护服务。当然,机器最终会耗尽内存,此时您就可以实现确保用户无法终止您的程序的目标。@1800信息:正如我在问题中所写的,我让应用程序监视器返回服务。@Alex-在您的监视代码得到一个新的消息之前,我可能可以调用TerminateProcess运行的机会-相互监控稍微提高了一点门槛,但不能提供可靠的保护。只需确保您有一些可靠的杀戮过程信号。Windows Defender可能会将您的应用程序标记为间谍软件。您还需要保护服务保护服务,以确保用户不会以某种方式终止保护服务。然后您需要编写一个保护服务,以防他们杀死保护服务。当然,最终机器会耗尽内存,此时您就可以实现您的目标,即确保用户不会杀死您的程序。@1800信息:正如我在问题中所写,我有这个应用程序
Application monitor返回服务。@Alex-在您的监视代码有机会运行之前,我可能可以调用TerminateProcess,这两个都可以-相互监视提高了一点门槛,但是不能提供可靠的保护。你不能重新配置你的服务来无限制地重新启动-如果它被频繁地终止,SCM将停止重新启动它。或者您可以跳过该操作,直接修改重启操作以防止自动重启。完成此操作后,您可以杀死它正在监视的应用程序,将其从启动组中删除并卸载服务。如果用户正在杀死进程,您不会让他们这样做吗?您不能重新配置您的服务以无限制地重新启动。但是,如果它被频繁杀死,SCM将停止重新启动它。或者您可以跳过该操作,直接修改重启操作以防止自动重启。完成后,您可以杀死它正在监视的应用程序,将其从启动组中删除并卸载该服务。如果用户正在杀死该进程,您不会让他们这样做吗?