Windows服务C#不';从任务管理器终止时,在停止时调用方法

Windows服务C#不';从任务管理器终止时,在停止时调用方法,c#,windows,service,process,windows-services,C#,Windows,Service,Process,Windows Services,我正在使用VisualStudio2019开发一个Windows服务项目。我创建了我的服务,一切正常,它正在运行,不时调用我的任务 但是当我通过任务管理器结束这个过程时,我的服务停止,而不调用onStop()方法 如果我转到任务管理器->服务并在那里停止我的服务,它会正常调用onStop(),并执行它必须执行的操作 我正试图为在线游戏服务器开发一种“反黑客”。如果我能以这种方式完成我的服务,而不会导致它落入onStop()方法,那么我的反黑客程序将无法工作 有人能帮我吗 我的方法在顶部: p

我正在使用VisualStudio2019开发一个Windows服务项目。我创建了我的服务,一切正常,它正在运行,不时调用我的任务

但是当我通过任务管理器结束这个过程时,我的服务停止,而不调用onStop()方法

如果我转到任务管理器->服务并在那里停止我的服务,它会正常调用onStop(),并执行它必须执行的操作

我正试图为在线游戏服务器开发一种“反黑客”。如果我能以这种方式完成我的服务,而不会导致它落入onStop()方法,那么我的反黑客程序将无法工作

有人能帮我吗

我的方法在顶部:

  protected override void OnStop()
        {
            try
            {
                ProcessStartInfo processStartInfo = new ProcessStartInfo("taskkill", "/F /T /IM androidapp")
                {
                    WindowStyle = ProcessWindowStyle.Hidden,
                    CreateNoWindow = true,
                    UseShellExecute = false,
                    WorkingDirectory = System.AppDomain.CurrentDomain.BaseDirectory,
                    RedirectStandardOutput = true,
                    RedirectStandardError = true
                };
                Process.Start(processStartInfo);
            }
            catch { }   
        }

这是Windows的正常行为。您可以开发Windows服务,所有功能都可以像Windows服务一样正常工作。考虑将服务作为代理或层,当您通过其进程杀死它时,层链被绕过@MojtabaTajik我编辑我的主题,我该怎么做才能不让进程直接终止?@MickyD我正试图为在线游戏服务器开发一种“反黑客”。因此,我认为作为一名用户,将通过任务管理器结束此服务。如果他完成了这个过程,他将能够使用非法程序。这不完全是关于过程,而是关于用户权限。出于您的目的,您需要开发一个内核驱动程序。C#不是开发这种工具的好选择。“我该怎么做才能不让进程直接终止?”-你不能,试试另一种方法,比如当其中一个服务出现故障时,创建两个相互重新启动的服务