kemyliu 发表于 2014-10-14 13:53:16

如何获取局域网某台电脑的系统时间?(VB代码转AU3)

从网上搜索到使用NettRemoteTOD API可以做到,下面是VB代码,哪位大神可以帮忙改为AU3代码。 多谢!!Option Explicit

Private Declare Function NetRemoteTOD Lib "Netapi32.dll" (tServer As Any, pBuffer As Long) As Long

Private Type SYSTEMTIME
wYear         As Integer
wMonth      As Integer
wDayOfWeek    As Integer
wDay          As Integer
wHour         As Integer
wMinute       As Integer
wSecond       As Integer
wMilliseconds As Integer
End Type

Private Type TIME_ZONE_INFORMATION
Bias             As Long
StandardName(32) As Integer
StandardDate   As SYSTEMTIME
StandardBias   As Long
DaylightName(32) As Integer
DaylightDate   As SYSTEMTIME
DaylightBias   As Long
End Type

Private Declare Function NetApiBufferFree Lib "Netapi32.dll" (ByVal lpBuffer As Long) As Long

Private Type TIME_OF_DAY_INFO
tod_elapsedtAs Long
tod_msecs   As Long
tod_hours   As Long
tod_mins      As Long
tod_secs      As Long
tod_hunds   As Long
tod_timezoneAs Long
tod_tinterval As Long
tod_day       As Long
tod_month   As Long
tod_year      As Long
tod_weekday   As Long
End Type

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
                               Destination As Any, Source As Any, ByVal Length As Long)
                              

Public Function getRemoteTOD(ByVal strServer As String) As Date
Dim result    As Date
Dim lRet      As Long
Dim tod       As TIME_OF_DAY_INFO
Dim lpbuff    As Long
Dim tServer() As Byte
tServer = strServer & vbNullChar
lRet = NetRemoteTOD(tServer(0), lpbuff)
If lRet = 0 Then
   CopyMemory tod, ByVal lpbuff, Len(tod)
   NetApiBufferFree lpbuff
   result = DateSerial(tod.tod_year, tod.tod_month, tod.tod_day) + _
            TimeSerial(tod.tod_hours, tod.tod_mins - tod.tod_timezone, tod.tod_secs)
   getRemoteTOD = result
Else
   Err.Raise Number:=vbObjectError + 1001, _
               Description:="cannot get remote TOD"
End If
End Function

Private Sub Form_Load()
    Dim d As Date
    d = getRemoteTOD("192.168.186.110")
    MsgBox d
End Sub

kemyliu 发表于 2014-10-16 08:51:12

顶一下,大神帮帮忙!!

虫子樱桃 发表于 2014-10-16 09:12:47

http://www.autoitscript.com/forum/topic/49282-help-with-api-call-netremotetod/

Authree 发表于 2014-10-24 09:52:36

楼主看下3楼代码,是个很好的例子,跟着学习下~~
页: [1]
查看完整版本: 如何获取局域网某台电脑的系统时间?(VB代码转AU3)