private static void SetzeSystemzeit(DateTime NeueZeit) //Fehlernummern siehe Log.cs 1201ZZ { NeueZeit = NeueZeit.ToUniversalTime(); str_Zeit Zeit = new str_Zeit { Jahr = (short)NeueZeit.Year, Monat = (short)NeueZeit.Month, TagInDerWoche = (short)NeueZeit.DayOfWeek, Tag = (short)NeueZeit.Day, Stunde = (short)NeueZeit.Hour, Minute = (short)NeueZeit.Minute, Sekunde = (short)NeueZeit.Second, Millisekunde = (short)NeueZeit.Millisecond }; bool result = SetSystemTime(ref Zeit); //If the function succeeds, the return value is nonzero. if (result) { Log.Write(Log.Cat.Scheduler, Log.Prio.Error, 120102, "Der Benutzer >" + InTouch.ReadTag("$Operator") + "< hat die Systemzeit nach >" + NeueZeit.ToLocalTime() + "< (" + NeueZeit + " UTC) umgestellt."); } else { Log.Write(Log.Cat.Scheduler, Log.Prio.Error, 120103, "Der Benutzer >" + InTouch.ReadTag("$Operator") + "< konnte die Systemzeit nicht nach >" + NeueZeit + "< umstellen. Fehler aus kernel32.dll"); } }
static extern bool SetSystemTime(ref str_Zeit neueZeit);