下記、SetSystemTime 関数の使用法サンプル
#uselib "kernel32.dll"
#func global SetSystemTime "SetSystemTime" int
//構造体用の変数を作る。SYSTEMTIME 構造体は、16バイトであるので、16バイトが入るメモリを確保する。
dim SYSTEMTIME,4
//構造体にデータを入れる。word は 2バイトなので、wpoke で 2バイトデータずつ入れる。
wpoke SYSTEMTIME,0,2017 //年
wpoke SYSTEMTIME,2,1 //月 (1月は 1 を設定)
wpoke SYSTEMTIME,4,0 //曜日 (日曜日は 0 で月曜日は 1 と設定)
wpoke SYSTEMTIME,6,16 //月の何日?です。(1 〜 31)
wpoke SYSTEMTIME,8,10 //今何時?です。(0〜23)
wpoke SYSTEMTIME,10,32 //今何分?です。(0〜59)
wpoke SYSTEMTIME,12,34 //今何秒?です。(0〜59)
wpoke SYSTEMTIME,14,995 //今コンマ何秒(ミリ秒)?です。(0〜999)
//上記をわかりやすく表示すると、「2017年1月16日 日曜日の 10時32分34秒 995ミリ秒」ということになります。
//実際に設定してみる。SetSystemTime の引数は、変数のポインタ(アドレス)を指定しなさい
//なので、varptr を用いて、SYSTEMTIME 変数のポインタを引数に指定する。
SetSystemTime varptr(SYSTEMTIME)
//通常ではこのままでは設定できません。
//プロセスの実行が管理者であり、プロセス権限に SE_SYSTEMTIME_NAME という特権が必要です。