设置时间(YYYYMMDDHHMISSMS)
{
VarSetCapacity(localTime, 16, 0) ; 这个结构体是由 8 个 UShorts 组成,所以容量为 8×2=16
StringLeft, Int, YYYYMMDDHHMISSMS, 4 ; YYYY (年)
NumPut(Int, localTime, 0, "UShort")
StringMid, Int, YYYYMMDDHHMISSMS, 5, 2 ; MM (月份, 1-12)
NumPut(Int, localTime, 2, "UShort")
StringMid, Int, YYYYMMDDHHMISSMS, 7, 2 ; DD (日)
NumPut(Int, localTime, 6, "UShort")
StringMid, Int, YYYYMMDDHHMISSMS, 9, 2 ; HH (小时 0-23)
NumPut(Int, localTime, 8, "UShort")
StringMid, Int, YYYYMMDDHHMISSMS, 11, 2 ; MI (分)
NumPut(Int, localTime, 10, "UShort")
StringMid, Int, YYYYMMDDHHMISSMS, 13, 2 ; SS (秒)
NumPut(Int, localTime, 12, "UShort")
StringMid, Int, YYYYMMDDHHMISSMS, 15, 3 ; MS (毫秒)
NumPut(Int, localTime, 14, "UShort")
/*以上是SYSTEMTIME结构体
由于是用16进制储存的 所以这些小于65535的数字都可以存为2位 因此年后面的偏移量是2不是4
之所以在NUMPUT后面指定类型 是方便直接转换
如果要用到进制转换之类的 估计直接NUMPUT NUMGET是最快的
*/
Return,DllCall("SetLocalTime", UInt, &localTime)
}
[FUNC]AHK设置系统时间
最新推荐文章于 2023-01-17 10:56:22 发布