C#禁用系统时间更改

时间:2012-08-07 07:52:47

标签: c# time permissions

我正在尝试制作一个家长控制程序,以防止在晚上11:00之后使用计算机,但为了确保它不会被绕过,我要么必须使用外部时间监控源而不是当地时间(在电脑上... ...所以我想知道是否有可能从我的路由器请求时间,我做了一些研究,但我找不到任何东西(我的路由器是D-Link)。

所以我得出的结论是,我必须禁用时间变化。有没有办法做到这一点?如撤销“SeSetSystemTime”权限?

4 个答案:

答案 0 :(得分:0)

为什么要获得路由器?

从时间服务器获取它:)协议是NTP。

检查此问题是一个好的开始:How to Query an NTP Server using C#?

答案 1 :(得分:0)

如果您的路由器在通过HTTP协议进行交互时设置了cookie,那么您可以使用该信息。否则,没有其他办法(如果你没有互联网)。

但是,对于一个案例,考虑每分钟采用时间戳,如果时间已经改变,将更改保存到时间变化列表中,以通过加法和减法时间的变化保持达到原始时间。

答案 2 :(得分:0)

您可以使用Internet时间服务器,可以轻松找到用于查询这些服务器的代码。

例如,看看这个

http://www.codeproject.com/Articles/5972/Daytime-Internet-Time-Service-Class

答案 3 :(得分:0)

作为旁注:一个“监护人”软件,无论多么复杂都无法取代育儿:)

关于问题:如果你的目标是Win7,你可以阻止用户更改system time,我认为应该可以将所有Windows版本降至至少XP