给你一段代码:其他的想都不用想了: sub test() If IsConnected = False Then If MsgBox("请先拨通服务器!" + Chr(13) + "是否马上拨号上网?", vbQuestion + vbOKCancel, App.ProductName) = vbOK Then Dim x Dim ret As Integer, times As Integer Do ret = DoEvents()
x = Shell("rundll32.exe rnaui.dll,RnaDial " & Trim(gConnName)) times = times + 1 Loop Until IsConnected Or times > 3 Else Exit Sub End If If Not IsConnected Then Exit Subend sub '是否已连接上INTERNET 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 IfEnd FunctionAPI的函数及常量声明总不用写了吧! 给分吧!
把API的函数及常量声明也写近来吧! 谢谢!
'摘自电脑报 Private Declare Function InternetGetConnectedState Lib "wininet" (lpdwFlags As Long, ByVal dwReserved As Long) As Boolean Private Const INTERNET_CONNECTION_MODEM = 1 Private Const INTERNET_CONNECTION_LAN = 2 Private Const INTERNET_CONNECTION_PROXY = 4 Private Sub Command1_Click() Dim flags As Long Dim result As Boolean result = InternetGetConnectedState(flags, 0) If result Then If flags And INTERNET_CONNECTION_MODEM Then MsgBox "您是通过Modem连接上网!", , "提示信息" If flags And INTERNET_CONNECTION_LAN Then MsgBox "您是通过Lan连接上网!", , "提示信息" If flags And INTERNET_CONNECTION_PROXY Then MsgBox "您是通过Proxy连接上网!", , "提示信息" Else MsgBox "没有连接!", , "提示信息" End If End Sub
sub test()
If IsConnected = False Then
If MsgBox("请先拨通服务器!" + Chr(13) + "是否马上拨号上网?", vbQuestion + vbOKCancel, App.ProductName) = vbOK Then
Dim x
Dim ret As Integer, times As Integer
Do
ret = DoEvents()
x = Shell("rundll32.exe rnaui.dll,RnaDial " & Trim(gConnName))
times = times + 1
Loop Until IsConnected Or times > 3
Else
Exit Sub
End If
If Not IsConnected Then Exit Subend sub
'是否已连接上INTERNET
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 IfEnd FunctionAPI的函数及常量声明总不用写了吧!
给分吧!
谢谢!
Private Declare Function InternetGetConnectedState Lib "wininet" (lpdwFlags As Long, ByVal dwReserved As Long) As Boolean
Private Const INTERNET_CONNECTION_MODEM = 1
Private Const INTERNET_CONNECTION_LAN = 2
Private Const INTERNET_CONNECTION_PROXY = 4
Private Sub Command1_Click()
Dim flags As Long
Dim result As Boolean
result = InternetGetConnectedState(flags, 0)
If result Then
If flags And INTERNET_CONNECTION_MODEM Then MsgBox "您是通过Modem连接上网!", , "提示信息"
If flags And INTERNET_CONNECTION_LAN Then MsgBox "您是通过Lan连接上网!", , "提示信息"
If flags And INTERNET_CONNECTION_PROXY Then MsgBox "您是通过Proxy连接上网!", , "提示信息"
Else
MsgBox "没有连接!", , "提示信息"
End If
End Sub