到处都有这样的例子,
你找不到吗?

解决方案 »

  1.   


    有2种方法:
    用Mscomm32控件向接MODEM的串口发送“AT”命令,有回应“OK”就表示MODEM已打开,否则表示关闭。检测正在工作可用Mscomm32的CDHolding属性来判断(可参考VB帮助)。拨号后若MODEM返回“BUSY",则表示忙音。在执行前,必须先设置好MODEM,并可查看一些关于MODEM的AT命令的资料!如何检测是否已连接到Internet?
     声明: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程序:
    Private Sub main()
        If IsConnected = True Then
            MsgBox "已连接到Internet!", vbInformation, "提示"
        Else
            MsgBox "未连接到Internet!", vbInformation, "提示"
        End If
    End Sub
     
    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 "产生错误!", vbInformation, "提示"
            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