因果分析法:怎么用VB6来判断网络连接?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 13:58:33
'窗体代码
Private Sub Form_Load()
If IsConnected = True Then
MsgBox ("ÄúÒѾ­Á¬Í¨ÁËInternet!")
End If
If IsConnected = False Then
MsgBox ("Äú»¹Ã»ÓÐÁ¬Í¨ Internet!")
End If
Unload Me
End Sub

'/£ªº¯ÊýIsConnected·µ»ØÁ¬Í¨µÄ״̬£¬Èç¹ûΪTrueÔò±íʾÒÑÁ¬Í¨£ª/

Public Function IsConnected() As Boolean
Dim TRasCon(255) As RASCONN95
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RASCONNSTATUS95
TRasCon(0).dwSize = 412
lg = 256 * TRasCon(0).dwSize
RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
If RetVal <> 0 Then
MsgBox "´íÎó"
Exit Function
End If
Tstatus.dwSize = 160
RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)
If Tstatus.RasConnState = &H2000 Then
IsConnected = True
Else
IsConnected = False
End If
End Function

'--------------------------------------------------------
’模块代码
Option Explicit
'/£ªÓйصÄAPIÉùÃ÷ºÍ¶¨Ò壪/
Public Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long
Public Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long
'¡¡ /£ª³£ÊýºÍ±äÁ¿µÄÉ趨£ª/
Public Const RAS95_MaxEntryName = 256
Public Const RAS95_MaxDeviceType = 16
Public Const RAS95_MaxDeviceName = 32

Public Type RASCONN95
dwSize As Long
hRasCon As Long
szEntryName(RAS95_MaxEntryName) As Byte
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

Public Type RASCONNSTATUS95
dwSize As Long
RasConnState As Long
dwError As Long
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

'------------------------------------------------------------
我用这个代码判断不了,因为明明可以上网,但是结果确实不能连接。请问哪位能解释一下上面的代码或者给出一个思路,谢谢!

上网用户出现错误“678”的提示一般是网络不通了,但是有些经过电信检测后网络情况正常,也出现了错误“678”的提示,令人烦恼不已。 实际上,使用过程中各种应用软件的冲突也会引发网络不通,出现错误“678”的提示的。电信维护人员在日常维护时,曾发现“3721”、杀毒软件或者防火墙等出现异常引发错误“678”提示的现象。所以,在您发现错误“678”的提示时,可以先尝试暂时卸载“3721”、退出杀毒软件或者暂时关闭防火墙,重新进行连接,试试看是否能够解决问题。

遇到678的常见解决思路和步骤:
1.首先确认adsl modem拨号正常,因为网卡自动获取的IP没有清除,所以再次拨号的时候网卡无法获取新的IP地址会提示678,操作方法是:关闭adsl modem,进入控制面板的网络连接右击本地连接选择禁用,5秒钟后右击本地连接选择启用,然后打开adsl modem拨号即可;
2.如果第一步无效,则在关闭adsl modem的情况下,仍然禁用本地连接(网卡),重启计算机,然后启用本地连接(网卡),再打开adsl modem即可解决;
3.如果上述步骤都无法解决,查看网卡灯是否亮,如果网卡灯不亮,参看派单知识库:“网卡灯不亮或经常不亮”的解决方案
4.如果网卡灯正常1,2步无法解决则带领用户卸载网卡驱动,重装网卡驱动,如果用户xp系统按照:知识编号:9973,如何在WINXP下设置ADSL拨号连接 方法带领用户创建拨号连接,如果98系统建议用户安装Raspppoe软件或者EHERNET300软件连接即可。
5.如果上述操作无效联系电信部门确认端口。
6、如果上述操作还解决不了问题,请更换网卡。