UTC表現で現在のシステム時間と日付けを設定します。
#Include <Date.au3>
_Date_Time_SetSystemTime($pSystemTime)
パラメータ
$pSystemTime | 新しいシステム時間と日付けの格納された$tagSYSTEMTIME構造体のポインタ |
返し値
成功: | True |
失敗: | False |
注意
地域時間を変更する前にSetLocalTime関数はSE_SYSTEMTIME_NAME権限を有効にします。
関連
_Date_Time_GetSystemTime, $tagSYSTEMTIME
例
#include <GuiConstantsEx.au3>
#include <Date.au3>
#include <WindowsConstants.au3>
; Vista では WindowsAPI "SetSystemTime" はシステムセキュリティによって拒否されることがある
Global $iMemo
_Main()
Func _Main()
Local $hGUI, $tCur, $tNew
; GUIを作成
$hGUI = GUICreate("Time", 400, 300)
$iMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState()
; 現在のシステム時間を取得
$tCur = _Date_Time_GetSystemTime()
MemoWrite("Current system date/time .: " & _Date_Time_SystemTimeToDateTimeStr($tCur))
; 新しいシステム時間を設定
$tNew = _Date_Time_EncodeSystemTime(8, 19, @YEAR, 3, 10, 45)
If Not _Date_Time_SetSystemTime(DllStructGetPtr($tNew)) Then
MsgBox(4096, "Error", "System clock cannot be SET" & @CRLF & @CRLF & _WinAPI_GetLastErrorMessage())
Exit
EndIf
$tNew = _Date_Time_GetSystemTime()
MemoWrite("New system date/time .....: " & _Date_Time_SystemTimeToDateTimeStr($tNew))
; システム時間を復元
_Date_Time_SetSystemTime(DllStructGetPtr($tCur))
; 現在のシステム時間を取得
$tCur = _Date_Time_GetSystemTime()
MemoWrite("Current system date/time .: " & _Date_Time_SystemTimeToDateTimeStr($tCur))
; ユーザーが終了するまでループ
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; メモコントロールに1行書き込む
Func MemoWrite($sMessage)
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite