我怎样才能防止我的winform应用程序使用c#在任务管理器中关闭

问题描述 投票:0回答:2

我编写了一个 Windows 应用程序来检查某些范围内的值。如果该值超出范围,我会显示一个警报表单以单击详细信息并按用户检查其他项目。但我的问题是用户可能会在任务管理器中关闭此应用程序并检查停止。我想写windows服务,但是windows服务无法调用form。有什么想法吗?

我写了很多代码,但结果不是......

c# winforms windows-services taskmanager formclosing
2个回答
0
投票

服务和桌面应用程序通信:使用Windows服务执行后台检查,并使用单独的桌面应用程序显示UI。服务和应用程序可以通过套接字、命名管道或数据库等机制进行通信。

任务计划程序: 使用任务计划程序而不是服务来按特定时间间隔运行应用程序。这种方法允许应用程序使用 UI 运行。

后台应用程序:将检查应用程序作为后台应用程序运行,最小化到系统托盘而不是作为服务。这样,即使最小化,应用程序也可以继续使用 UI 功能运行。


0
投票

一般情况下,这是不可能的。

用户总是能够杀死(终止)一个进程,至少,如果这是他自己的进程,线索就来了。普通用户无法终止另一个用户和/或系统的进程。因此,如果您将应用程序作为服务运行,普通用户无法终止它,除非他具有更高的权限,在这种情况下,您实际上无能为力。另一方面,是的,服务无法真正与桌面交互(或者很难让它正确 - 我从未设法让它工作)。

但是:你想实现什么目标?如果你的工具做了一些有用的事情,用户应该运行它,如果没有,他显然不需要/不想要它。在后一种情况下,找出原因并更改应用程序以解决他的需求。

© www.soinside.com 2019 - 2024. All rights reserved.