【问题标题】:Prevent users from stopping a process阻止用户停止进程
【发布时间】:2018-01-15 02:54:21
【问题描述】:

长话短说,我需要创建一个应用程序来监控计算机上的音量。无论如何,计算机的用户都不能停止应用程序。

我需要让我的应用程序在计算机启动时启动,因此用户不能在应用程序不运行的情况下重新启动它来进入他的会话。到目前为止,我还不知道具体该怎么做,但通过一些研究,这应该不是问题。

我最担心的是他是否只是在任务管理器中停止该进程。我想我无法以编程方式避免这种情况?有没有办法只修改会话的权限,使其不能停止任务管理器中的进程?还是我没有想到的任何其他解决方案?

或者我没有办法做到这一点,我只需要相信我的用户永远不会在任务管理器中停止程序?

提前感谢您的帮助。 :)

PS:这将在学生俱乐部的计算机上运行,​​该计算机为俱乐部运行音乐并且任何人都可以访问。楼上有些房间供人们睡觉,所以我们不希望人们把音量开得太大。而已。没有恶意软件或任何东西。

【问题讨论】:

  • 这不是一个编程问题,因此不属于这个网站。但是不,没有办法阻止某人停止进程。
  • 想象一下有人制作了一个您永远无法停止的程序...然后他们将其安装在您的 PC 上...您永远无法删除它。你喜欢它的声音吗?我敢打赌恶意软件作者会这样做
  • 您可以做的最好的事情是将其创建为服务,这样就更难找到并且不会出现在任务管理器进程列表中。无论哪种方式,都不可能完全隐藏某些东西。
  • “没有恶意软件或任何东西。” cmets 并不(必然)暗示您正在寻找创建恶意软件,但如果存在这样的功能,它将使恶意软件创建者的工作大大更简单。跨度>
  • 以管理员身份启动程序,不要让其他用户以管理员身份登录。如果您不相信人们可以完全访问机器,请不要给他们一个管理帐户。然后,您可以让他们只做您希望他们能够做的事情。

标签: c# .net wpf windows process


【解决方案1】:

一般情况下,只有这样的行为是恶意程序(例如rootkits)。如果你仔细想想,你真的不会希望程序能够那样做。

正如其他人所指出的,您最接近这里的是 Windows 服务,它会自动随 Windows 启动。普通用户不会知道停止它,但仍然可以为高级用户手动停止它。

您可以尝试的一种解决方法是定期让它调用 Web 服务来验证它是否正在运行。这样您就可以知道谁可能已经卸载或停止了该服务。 (当然,问题是他们可能只是没有打开计算机或其他什么东西;您可以分别调用“开始”和“仍然打开”)。

或者,如果它只安装在您直接控制的计算机上,正如其他人所指出的那样,您可以配置一些东西,以便您需要管理访问权限来停止该过程。此选项已在 cmets 中解决。

【讨论】:

  • “你可以配置一些东西,以便你需要管理权限来停止进程”,我该怎么做?
  • @Kishlin 该选项在 cmets 中有描述
【解决方案2】:

我并不是在指责您使用恶意软件 - 只是想说明如果您可以轻松地制作一个用户“永远不会停止”的程序,那将是多么糟糕。

所以你不能制作一个精通计算机的人永远无法停止的程序。

但是从我收集到的...

听起来你想让它成为一项服务。 https://msdn.microsoft.com/en-us/library/d56de412(v=vs.110).aspx.

另一个(我认为更容易)选项就是制作一个从任务计划程序http://www.c-sharpcorner.com/uploadfile/manas1/console-application-using-windows-scheduler/启动的控制台应用程序。

【讨论】:

    猜你喜欢
    • 2019-05-18
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    相关资源
    最近更新 更多