在Windows事件日志中检测手动时间更改和夏令时事件

时间:2011-05-26 13:43:05

标签: c# .net timezone event-log

我想在我的C#应用​​程序运行时检测到系统时间和日期的手动更改以及自动夏令时变化。

此外,我正在寻找一种方法来检测用户启动应用程序时应用程序脱机期间发生的这些更改。

在此页面http://support.microsoft.com/kb/815314中有一个解释如何扫描事件日志,但我找不到能够将事件唯一标识为时间更改事件的内容。

2 个答案:

答案 0 :(得分:2)

您可以使用SystemEventsClass在运行时响应时间更改事件。

至于事件日志,您可以尝试在Windows安全日志中挖掘有关事件ID 520的一些信息,this帖子有一些关于它的信息。

答案 1 :(得分:0)

我认为更好的解决方案是在应用首次启动时保存当前日期/时间/时区/ dst设置。然后在每次后续应用重启时检查它们。与SystemEvents类一起用于捕获运行时更改,这将比尝试解析事件日志条目(可以清除/清除)无限好。