現在の地域時間と日付けを設定します。
#Include <Date.au3>
_Date_Time_SetLocalTime($pSystemTime)
パラメータ
$pSystemTime | 新しい地域z巻と日付けの格納された$tagSYSTEMTIME構造体のポインタ |
返し値
成功: | True |
失敗: | False |
注意
地域時間を変更する前にSetLocalTime関数はSE_SYSTEMTIME_NAME権限を有効にします。
関連
_Date_Time_GetLocalTime, $tagSYSTEMTIME
例
#include <GuiConstantsEx.au3>
#include <Date.au3>
#include <WindowsConstants.au3>
; Vista では WindowsAPI "SetLocalTime" はシステムセキュリティによって拒否されることがある
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_GetLocalTime()
MemoWrite("Current date/time .: " & _Date_Time_SystemTimeToDateTimeStr($tCur))
; 新しい地域時間を設定
$tNew = _Date_Time_EncodeSystemTime(8, 19, @YEAR, 3, 10, 45)
If Not _Date_Time_SetLocalTime(DllStructGetPtr($tNew)) Then
MsgBox(4096, "Error", "System clock cannot be SET" & @CRLF & @CRLF & _WinAPI_GetLastErrorMessage())
Exit
EndIf
$tNew = _Date_Time_GetLocalTime()
MemoWrite("New date/time .....: " & _Date_Time_SystemTimeToDateTimeStr($tNew))
; 地域時間をリセット
_Date_Time_SetLocalTime(DllStructGetPtr($tCur))
; 現在の地域時間を表示
$tCur = _Date_Time_GetLocalTime()
MemoWrite("Current 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
#include <GuiConstantsEx.au3>
#include <Date.au3>
#include <WindowsConstants.au3>
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_GetLocalTime()
MemoWrite("Current date/time .: " & _Date_Time_SystemTimeToDateTimeStr($tCur))
; 新しい地域時間を設定
$tNew = _Date_Time_EncodeSystemTime(8, 19, @YEAR, 3, 10, 45)
_Date_Time_SetLocalTime(DllStructGetPtr($tNew))
$tNew = _Date_Time_GetLocalTime()
MemoWrite("New date/time .....: " & _Date_Time_SystemTimeToDateTimeStr($tNew))
; 地域時間をリセット
_Date_Time_SetLocalTime(DllStructGetPtr($tCur))
; 現在の地域時間を表示
$tCur = _Date_Time_GetLocalTime()
MemoWrite("Current 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