Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在windows事件日志中检测手动时间更改和夏令时事件_C#_.net_Timezone_Event Log - Fatal编程技术网

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

C# 在windows事件日志中检测手动时间更改和夏令时事件,c#,.net,timezone,event-log,C#,.net,Timezone,Event Log,我想在C#应用程序运行时检测系统时间和日期的手动更改以及夏令时的自动更改 此外,我正在寻找一种方法来检测在用户启动应用程序时应用程序脱机期间发生的这些更改 本页解释了如何扫描事件日志,但我找不到将事件唯一标识为时间更改事件的内容。您可以在运行时使用来响应时间更改事件 至于事件日志,您可以尝试在windows安全日志中挖掘一些关于事件ID 520的信息,post提供了一些信息。我认为更好的解决方案是在应用程序第一次启动时保存当前的日期/时间/时区/dst设置。然后在以后每次重新启动应用程序时检查它

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

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

本页解释了如何扫描事件日志,但我找不到将事件唯一标识为时间更改事件的内容。

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


至于事件日志,您可以尝试在windows安全日志中挖掘一些关于事件ID 520的信息,post提供了一些信息。

我认为更好的解决方案是在应用程序第一次启动时保存当前的日期/时间/时区/dst设置。然后在以后每次重新启动应用程序时检查它们。结合SystemEvents类来捕获运行时更改,这将比尝试解析事件日志条目要好得多——可以清除/清除这些条目。

谢谢!但是SystemEventsClass-TimeChanged仅在“用户更改系统时钟上的时间”时发生。是否有办法检测由于夏令时而进行的自动时间更改?不幸的是,EventLogEntry类中的EventID已过时()感谢Scott,我不确定如何从手动时间更改中找到答案,或者系统是否根据您的建议在应用程序脱机期间自动更改了夏令时。