Obtient les param�tres du fuseau horaire actuel
#include <Date.au3>
_Date_Time_GetTimeZoneInformation ( )
Dans la structure $tagSYSTEMTIME, les membres wHour et wMinute repr�sentent le changement d'heure, le membre wDayOfWeek du jour de la semaine correspondant, et le membre wDay indiquant l'occurence du jour de la semaine dans le mois (1 � 5, o� 5 indique l'occurrence finale au cours du mois si ce jour de la semaine ne r�p�te pas 5 fois).
En utilisant cette notation, indiquez 02:00 pour le premier dimanche d'avril, comme suit: wHour = 2, wMonth = 4, wDayOfWeek = 0, wDay = 1. Indiquez 02:00 pour le dernier jeudi d'octobre comme suit: wHour = 2, wMonth = 10, wDayOfWeek = 4, wDay = 5.
$tagSYSTEMTIME, _Date_Time_SetTimeZoneInformation
;~ #RequireAdmin ; L'API Windows "SetTimeZoneInformation" n�cessite "SeTimeZonePrivilege" aussi vous devez utiliser #RequireAdmin #include <Date.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <WinAPIError.au3> #include <WindowsConstants.au3> Global $g_idMemo Example() Func Example() Local $aOld, $aNew ; Cr�e la GUI GUICreate("Temps", 400, 300) $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL) GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New") GUISetState(@SW_SHOW) ; Affiche les informations de fuseau horaire actuel $aOld = _Date_Time_GetTimeZoneInformation() ShowTimeZoneInformation($aOld, "Actuel") ; D�finit les nouvelles informations de fuseau horaire If Not _Date_Time_SetTimeZoneInformation($aOld[1], "A3L CST", $aOld[3], $aOld[4], "A3L CDT", $aOld[6], $aOld[7]) Then MsgBox($MB_SYSTEMMODAL, "Erreur", "Impossible de d�finir le fuseau horaire syst�me" & @CRLF & @CRLF & _WinAPI_GetErrorMessage(@extended)) Exit EndIf ; Affiche les nouvelles informations de fuseau horaire $aNew = _Date_Time_GetTimeZoneInformation() ShowTimeZoneInformation($aNew, "New") ; R�initialise les informations de fuseau horaire d'origine _Date_Time_SetTimeZoneInformation($aOld[1], $aOld[2], $aOld[3], $aOld[4], $aOld[5], $aOld[6], $aOld[7]) ; Affiche les informations de fuseau horaire actuel $aOld = _Date_Time_GetTimeZoneInformation() ShowTimeZoneInformation($aOld, "Reset") ; Boucle jusqu'� ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE EndFunc ;==>Example ; �crit une ligne dans le contr�le m�mo Func MemoWrite($sMessage) GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1) EndFunc ;==>MemoWrite ; Affiche les informations de fuseau horaire Func ShowTimeZoneInformation(ByRef $aInfo, $sComment) MemoWrite("***************************** " & $sComment & " *****************************") MemoWrite("R�sultat..................... : " & $aInfo[0]) MemoWrite("D�calage actuel.............. : " & $aInfo[1]) MemoWrite("Nom standard................. : " & $aInfo[2]) MemoWrite("Date/heure standard.......... : " & _Date_Time_SystemTimeToDateTimeStr($aInfo[3])) MemoWrite("D�calage standard............ : " & $aInfo[4]) MemoWrite("Nom pour l'heure d'�t�....... : " & $aInfo[5]) MemoWrite("Date/heure pour l'heure d'�t� : " & _Date_Time_SystemTimeToDateTimeStr($aInfo[6])) MemoWrite("D�calage pour l'heure d'�t�.. : " & $aInfo[7]) EndFunc ;==>ShowTimeZoneInformation