2012-08-07 130 views
0

基本上,我正在制定一個程序,在下午11點後阻止互聯網訪問。但我唯一的問題是有很多方法可以繞過它,例如關閉計算機,用戶只需等待操作系統本身關閉進程,然後取消關閉操作(Windows 7)即可。C#保持程序在後臺運行,直到計算機完全關閉

任何方式來確保該程序不會在PC關機或任何事情之前終止?

+1

「使用武力,盧克!」 – 2012-08-07 17:37:29

+10

爲什麼不只是投資一個便宜的路由器,允許您配置訪問時間表? – 2012-08-07 17:38:40

+0

只是一個猜測,但不應該可能與服務? – dowhilefor 2012-08-07 17:39:13

回答

0

這實際上有點複雜。這就像病毒 - 你如何保持它始終運行?

您可能想了解有關驅動程序。司機擁有最高的操作系統「信任」。他們可以物理訪問計算機中的任何內容。除驅動程序或核心文件之外的任何內容都可能由用戶手動關閉,以某種方式進行。

你可以做的另一件事是將文件「燒」成Kernal.DLL等。您可以使用計算機上的其他操作系統(例如Linux)或通過物理寫入硬盤(不通過Windows的API)來完成此操作。要物理訪問驅動程序,check this out.

1

如果您的目標是阻止Internet訪問,我建議在您的路由器上而不是您的PC上執行此規則。這將是一個更簡單,更可靠的解決方案。您的路由器可能已經支持該功能,但如果不支持,您可以購買新的消費級路由器(非常便宜)和/或安裝自定義固件(請參閱Linksys WRT-54GL和公司的Tomato固件) 。

如果路由器方式不適合你,而且你必須阻止軟件訪問互聯網,我首先會建議調查Windows「本地策略」或「組策略」,看看他們是否可以做你想做的事。

如果這對您的口味來說過於複雜,請嘗試找到現成的解決方案。看看ZoneAlarm或NetNanny,看看他們中的一個是否會做到這一點。但如果你一心想編寫一個C#程序來爲你做,那麼你可能想看看writing a Windows Service。服務編寫和部署更復雜,但它們可以配置爲在啓動時運行,並且不會像常規桌面應用程序那樣隸屬於用戶會話。

相關問題