C#让程序在后台运行,直到计算机完全关闭

C#让程序在后台运行,直到计算机完全关闭,c#,shutdown,C#,Shutdown,基本上,我正在制作一个程序,在晚上11点后阻止互联网访问。但我唯一的问题是,有很多方法可以绕过它,例如关闭计算机,用户只需等待操作系统本身关闭进程,然后取消关闭操作(Windows 7) 有没有办法确保程序不会在电脑关机或其他任何事情之前终止?这其实有点复杂。它就像一个病毒-如何让它一直运行? 你可能想读一些关于司机的书。操作系统对驱动程序的“信任度”最高。他们可以实际访问计算机中的任何内容。除驱动程序或核心文件之外的任何内容都可以通过某种方式由用户手动关闭。 您可以做的另一件事是将文件“刻录”

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


有没有办法确保程序不会在电脑关机或其他任何事情之前终止?

这其实有点复杂。它就像一个病毒-如何让它一直运行?

你可能想读一些关于司机的书。操作系统对驱动程序的“信任度”最高。他们可以实际访问计算机中的任何内容。除驱动程序或核心文件之外的任何内容都可以通过某种方式由用户手动关闭。


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

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

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

如果这对你来说太复杂了,试着找到现成的解决方案。查看ZoneAlarm或NetNanny,看看他们中是否有人会玩这个把戏


但是,如果你执意要编写一个C#程序来为你做这件事,你可能会想研究一下。服务的编写和部署更加复杂,但它们可以配置为在启动时运行,而不是像常规桌面应用程序那样受制于用户会话。

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