VBA基础
局域网如何获取某一机器的日期和时间
2004-11-23 22:53:08

作    者:朱亦文  摘    要:通过使用操作系统的NET命令和管道功能来获取局域网中某一台机器的日期和时间,并且通过循环来进行等待结果正    文:    通过使用操作系统的NET命令和管道功能来获取局域网中某一台机器的日期和时间,并且通过循环来进行等待结果。

'==============================================='功能: 取局域网中某机器的日期/时间'参数: 机器名字符串或IP地址字符串'作者: 朱亦文Public Function NetTime(Mac As String) As String    Dim i As Integer        ' 如果当前目录下存在 aa.bat 则删除    If Dir(CurrentProject.Path & "\aa.bat") <> "" Then        Kill CurrentProject.Path & "\aa.bat"    End If        ' 如果 D: 盘根目录下存在 4.txt 则删除    If Dir("d:\4.txt") <> "" Then        Kill "d:\4.txt"    End If        ' 如果 D: 盘根目录下存在 5.txt 则删除    If Dir("d:\5.txt") <> "" Then        Kill "d:\5.txt"    End If        ' 产生一个新的批处理文件, 其内容为:    ' net time \\机器名(或IP地址) > d:\4.txt    ' copy d:\4.txt d:\5.txt    ' 该批处理利用命令模式下的管道功能,    ' 将NET命令产生屏幕输出存入4.txt文件    ' 然后将4.txt复制到一个新的文件5.txt    ' 程序将根据是否有5.txt来判断批处理是否结束    Open CurrentProject.Path & "\aa.bat" For Output As #1    Print #1, "net time \\" & Mac & " >d:\4.txt"    Print #1, "copy d:\4.txt d:\5.txt"    Close #1        ' 执行刚才产生批处理文件aa.bat    Shell CurrentProject.Path & "\aa.bat", vbHide        ' 等待批处理结束    Do While Dir("d:\5.txt") = ""        ' 将控制权交给系统        i = DoEvents    Loop        ' 打开文件    Open "d:\4.txt" For Input As #1        ' 如果文件没有内容,则表示没有该主机    ' 否则,文件内容为取出日期时间串    If EOF(1) Then        NetTime = "访问失败!"    Else        Input #1, NetTime    End If        Close #1

End Function

点击浏览该文件