如何检查C#中是否手动更改时间

时间:2015-03-04 12:34:25

标签: c# winapi

我正在编写一个程序,根据当前时间定期在计算机上执行某些操作。但是用户可能会手动更改窗口时间并使我的程序混乱。 我的想法是在每次循环迭代中节省当前时间并将其与上次保存的时间进行比较。所以我可以确定时间的变化和变化的数量。但它会犯错误。系统休眠(和休眠)做同样的事情所以我无法区分“手动时间改变”和“系统休眠”。 实际上现在可以通过确定Hibernate(和Sleep)来解决问题。 你能帮帮我吗(确定休眠(和睡眠)或确定时间变化)?

2 个答案:

答案 0 :(得分:1)

您可以使用Stopwatch来衡量已用时间。秒表不依赖于系统时钟,因此不会受到更改的影响。

可以使用SystemEvents.PowerModeChanged事件检测休眠,睡眠等。

答案 1 :(得分:0)

使用时间Web服务检查应用程序启动时的时间。 或者,您可以创建Windows服务,即使您的程序尚未启动,也会检查时间更改。