精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓..API 函数使用..〓〓>>网络相关>>怎样检测有没有连通Internet,请大虾们帮

主题:怎样检测有没有连通Internet,请大虾们帮
发信人: freecloud()
整理人: winsy(2003-03-05 15:42:47), 站内信件
下面这段程序,只能检测拨号服务的程序有没有运行,我现在想检测是不是已经

连接成功该怎么做?谢谢,回帖时请别忘了给我寄一封。
Option Explicit

Public Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "R
asEnumConnectionsA" (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
        


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 "ERROR"
                    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

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.97.30.181]

[关闭][返回]