【问题标题】:C# Keep a program running in the background till the computer completely shuts downC#让程序在后台运行直到计算机完全关闭
【发布时间】:2012-08-07 17:35:55
【问题描述】:

基本上,我正在制作一个在晚上 11 点之后阻止互联网访问的程序。但我唯一的问题是有很多方法可以绕过它,例如关闭计算机,用户只需要等到操作系统本身关闭进程然后取消关闭操作(Windows 7)。

有什么方法可以确保程序在电脑关机或其他任何事情之前不会终止?

【问题讨论】:

  • 为什么不投资一个便宜的路由器来配置访问计划?
  • 只是一个猜测,但服务不应该是这样吗?
  • @dowhilefor,可以停止服务
  • @Erno 如果您有权这样做。显然,如果用户拥有完全的管理员权限,他就可以为所欲为。如果是受限用户,服务应该可以正常工作。
  • @LouisTakePILLz 你的问题是关于互联网访问的,所以当然你仍然可以在没有互联网的情况下玩游戏。您想在晚上 11 点之后停止整个用户帐户的工作吗? Parental Controls 怎么样?

标签: c# shutdown


【解决方案1】:

如果您的目标是阻止 Internet 访问,我建议在您的路由器而不是您的 PC 上执行此规则。这将是一个更简单、更可靠的解决方案。您的路由器可能已经支持该功能,但如果不支持,您可以购买新的消费级路由器(便宜)和/或安装支持的自定义固件(请参阅 Linksys WRT-54GL 的Tomato 固件和公司)。

如果路由器方法对您不起作用,并且您必须在软件中阻止 Internet 访问,我建议首先调查 Windows 的“本地策略”或“组策略”,看看它们是否可以做你想做的事。

如果这对您来说太复杂了,请尝试寻找现成的解决方案。查看 ZoneAlarm 或 NetNanny,看看其中一个是否可以解决问题。

但是,如果您一心想编写一个 C# 程序来为您做这件事,您可能想研究一下writing a Windows Service。服务的编写和部署更复杂,但它们可以配置为在启动时运行,并且不像常规桌面应用程序那样从属于用户会话。

【讨论】:

    【解决方案2】:

    这实际上有点复杂。它就像一种病毒 - 你如何让它一直运行?

    您可能想了解驱动程序。驱动程序对操作系统具有最高的“信任”。他们可以物理访问计算机中的任何内容。除了驱动程序或核心文件之外的任何东西都可以由用户手动关闭,以某种方式关闭。

    您可以做的另一件事是将文件“刻录”到Kernal.DLL 或类似的文件中。您可以使用计算机上的不同操作系统(例如 Linux)或通过物理写入硬盘(而不是通过 Windows 的 API)来执行此操作。要物理访问驱动程序,check this out.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-12
      • 2021-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      • 1970-01-01
      • 2012-12-23
      相关资源
      最近更新 更多