如何制作一个在Windows中无法杀死的程序?

Dav*_*ann 6 .net c# windows process

我们正在为我们公司内部使用制作一个Jabber客户端,不知怎的,我们需要抓住用户试图杀死程序以实际重启它或者让用户无法杀死客户端的那一刻.

这可能吗?

我们的Jabber客户端将使用C#编写.

我将如何实现这一目标?

Rob*_*len 40

您所要求的内容远远超出您要求完成的内容.例如,如果无法杀死进程,Windows如何正常关闭?

我不认识你的老板,所以你必须衡量他们对你自己的理解程度.如果用户/经理问我这个问题,我将不得不深入探究他们的真正含义.我怀疑你的用户希望默认关闭行为最小化到系统托盘而不是退出程序,类似于大多数即时消息客户端,而不是根本无法关闭程序.

  • 正是我在阅读问题时的想法 - 如果应用程序不会因用户操作而死亡,Windows在关闭时如何能够关闭它? (9认同)

Rus*_*rry 26

首先我要说的是,这是一个可怕的想法.

但是......如果你必须这样做,我看到恶意软件和垃圾邮件猎犬的方式是创建3个正在运行的进程,一个是主进程,另外两个将监视并重启任何被杀死的进程.普通用户很难同时杀死3个进程.


Dav*_*vid 18

听起来像病毒.


Jab*_*Jab 13

由于这是内部的,您可以创建一个单独的Windows服务来监视活动进程.如果您的jabber客户端的进程不存在,您可以重新启动它.

然后使用权限阻止他们访问Windows服务以禁用它.


J. *_*fer 7

我想你应该问一下需求设计师他们对应用程序的意思是什么,这是不可能"杀死"的.他们用"杀戮"这个词得到了什么?

  • 不允许用户关闭他们的程序
    • 防止在窗口中标准使用X按钮?
    • 最小化到任务托盘?
    • 不允许他们在任务管理器中关闭应用程序?
  • 不允许操作系统关闭他们的程序

这个要求很模糊,我会和需求设计师/老板谈谈,以便更好地了解他们想要什么.


And*_*are 5

这听起来不仅仅是一个坏主意(对您的用户来说是滥用),但您无法阻止用户自行查杀进程.

您必须运行两个单独的进程 - 一个用于运行应用程序,另一个用于监视第一个进程并在必要时重新启动它.

  • 然后第三个看第二个...... :) (4认同)