正在开发一个程序,其中对于网络状态需要实时判断,现在是用一个Timer来实现的,但是间隔时间太长(如果设置为1S判断一次,不知道系统是否受的了,因此只能将这个作为一般性判断),所以就在每次有操作时做判断了,加了以下语句:
if connect = true then   '如果网络通继续检测网络
    call Net             '网络检测子过程
   if connect = flase then  '如果网络不通
     picture1(0).Visible = flase  '隐藏网络通的图片
     picture1(1).Visibel = true   '显示网络故障图片
   end if
end if不知道这样是否合适,因为如果不在每次有操作时判断,而是利用Timer来判断的话,那么当操作进行到一半而发生网络故障时,就会导致数据多发,而且多发的数据都是13条,不知道怎么回事。请教!
另外,对于外部设备控制,实例文件中是用的2进制,而我用的是16进制,都可以控制,不知道是否有影响。

解决方案 »

  1.   

    可以判断网线 连接和断开的状态
    用wmi
    strComputer = "."Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\wmi")
    Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
        ("Select * from MSNdis_StatusMediaDisconnect") Do While True 
        Set strLatestEvent = colMonitoredEvents.NextEvent 
        msgbox  "网络断开"
         
      
    Loop
    '------------------------------------
    strComputer = "."Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\wmi")
    Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
        ("Select * from MSNdis_StatusMediaConnect") Do While True 
        Set strLatestEvent = colMonitoredEvents.NextEvent 
        msgbox "网络连接成功
        
    Loop