会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 模块函数VBA > 正文

局域网如何获取某一机器的日期和时间

时间:2004-11-23 22:53 来源:AccessFaq 作者:zhuyiwen… 阅读:

作    者:朱亦文  
摘    要:通过使用操作系统的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



点击浏览该文件


(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: