请教关于vb断网处理的问题,高手请进啊!
正在开发一个程序,其中对于网络状态需要实时判断,现在是用一个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