Set System Time-Zone aus .NET
Tut jedermann haben einige code, der eine TimeZoneInfo-Feld aus .NET, und führen Sie die interop-code, um die system-Zeitzone via SetTimeZoneInformation? Ich merke, dass es im Grunde mapping die TimeZoneInfo-Mitglieder, um die strukturmember, aber es erscheint nicht offensichtlich für mich, wie die Felder zugeordnet werden genau oder was ich mich kümmern sollte, jenseits der Befangenheit.
InformationsquelleAutor user19297 | 2009-04-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, ob das ist was du suchst, aber es gibt einige Informationen zur Verwendung der Win32-Funktionen zum abrufen und festlegen der Zeitzone Informationen auf
http://www.pinvoke.net/default.aspx/kernel32/GetTimeZoneInformation.html
Den wichtigsten Teil der folgenden Beispiel-code stammt von dieser Seite. Ich habe gerade ein paar Zeilen mehr, um tatsächlich rufen Sie die GetTimeZone() Methode und fixe einen kleinen Fehler in der access-modifier der SystemTime-Struktur, um die sample-Arbeit.
Hoffe, das hilft...
Vor der Einstellung der Zeitzone Informationen, die Sie benötigen, um sicherzustellen, dass der Prozess über die entsprechenden Berechtigungen verfügt. Wie bereits auf der MSDN-Seite für SetTimeZoneInformation:
Ist hier einige Beispiel-code, um dies zu ermöglichen Privileg:
TimeZoneInfo
zuTimeZoneInformation
?Beachten Sie, diese Antwort ist für pre-Vista mit
SetTimeZoneInformation
. Es ist jetzt besser geeignet istSetDynamicTimeZoneInformation
, als beantwortet hier.InformationsquelleAutor BigBlackDog
Gibt es eine andere Möglichkeit, dies zu tun, die zwar ein bisschen ein hack, aber funktioniert ganz gut in der Praxis:
Einfach diese Methode aufrufen, und übergeben Sie die
TimeZoneInfo.Id
, die Sie festlegen möchten. Zum Beispiel:Sind keine besonderen Rechte erforderlich, um diesen code auszuführen, als
tzutil.exe
bereits die entsprechenden Berechtigungen hat.Sehr einfache und effiziente Lösung. Nur eine Randnotiz, es funktioniert nicht für mich auf Windows XP SP3.
tzutil.exe nicht auf xp, und tz die Daten nicht gepflegt auf xp. Wirklich, es gibt keinen gültigen Grund für die Verwendung von xp nicht mehr.
Meine app-Nutzer sind, angefangen von XP SP2 alle der Weg zu Windows 10.x. Das ist, warum ich weiter schreiben-codes auf .Net Framework 2.0.
href="https://www.microsoft.com/en-us/windowsforbusiness/end-of-xp-support" >microsoft.com/en-us/windowsforbusiness/end-of-xp-support
InformationsquelleAutor Matt Johnson
Gibt es einen Artikel, der dies zu tun mit VB auf die Microsoft support-Website:
So ändern Sie die Zeitzone-Informationen mithilfe von Visual Basic
InformationsquelleAutor Simon Gillbee