Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

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

时 间:2004-11-10 00:00:00
作 者:朱亦文   ID:61  城市:岳阳
摘 要:通过使用操作系统的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
    
    ' 如果文件没有内容,则表示没有该主机
    ' 否则,文件内容为取出日期时间串
    

Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

专栏作家