首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

请问关于vb断网处理的有关问题,

2012-01-30 
请教关于vb断网处理的问题,高手请进啊!正在开发一个程序,其中对于网络状态需要实时判断,现在是用一个Timer

请教关于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

热点排行