0

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

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

4

2 回答 2

1

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

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

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

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

于 2012-08-07T17:57:34.083 回答
0

这实际上有些复杂。就像病毒一样——你如何让它一直运行?

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

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

于 2012-08-07T17:44:02.713 回答