Rubrik: Windows/System | 22.03.05 |
GetTimeZoneInformation-Funktion Diese Funktion ermittelt die Zeitzoneninformationen des Systems. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 10.232 |
Deklaration:
Declare Function GetTimeZoneInformation Lib "kernel32.dll" ( _ lpTimeZoneInformation As TIME_ZONE_INFORMATION) As Long
Beschreibung:
Diese Funktion ermittelt die Zeitzoneninformationen des Systems.
Parameter:
lpTimeZoneInformation | Erwartet eine TIME_ZONE_INFORMATION-Struktur die mit den Zeitzonen Einstellungen des System gefüllt wird. |
Rückgabewert:
Ist die Funktion erfolgreich, so wird der Wert "1" zurückgegeben, andernfalls derWert "0".
Beispiel:
Private Declare Function GetTimeZoneInformation Lib "kernel32.dll" ( _ lpTimeZoneInformation As TIME_ZONE_INFORMATION) As Long Private Declare Function WideCharToMultiByte Lib "kernel32" ( _ ByVal CodePage As Long, _ ByVal dwFlags As Long, _ ByVal lpWideCharStr As String, _ ByVal cchWideChar As Long, _ ByVal lpMultiByteStr As String, _ ByVal cchMultiByte As Long, _ ByVal lpDefaultChar As String, _ ByVal lpUsedDefaultChar As Long) As Long Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type Private Type TIME_ZONE_INFORMATION Bias As Long StandardName As String * 64 StandardDate As SYSTEMTIME StandardBias As Long DaylightName As String * 64 DaylightDate As SYSTEMTIME DaylightBias As Long End Type
' Zeitzoneninformationen ermitteln Private Sub Command1_Click() Dim Retval As Long, TZ As TIME_ZONE_INFORMATION, TmpOut As String * 32 ' Zeitzoneninformationen ermitteln Retval = GetTimeZoneInformation(TZ) ' Zeitzonenname von WideChar in einen lesbaren String konvertieren Retval = WideCharToMultiByte(0&, 0&, TZ.StandardName, 64, TmpOut, 32, _ "", 0&) Debug.Print Left$(TmpOut, InStr(1, TmpOut, vbNullChar) - 1) ' Sommerzeitname von WideChar in einen lesbaren String konvertieren Retval = WideCharToMultiByte(0&, 0&, TZ.DaylightName, 64, TmpOut, 32, _ "", 0&) Debug.Print Left$(TmpOut, InStr(1, TmpOut, vbNullChar) - 1) End Sub