'窗体上加个 winsock 控件 Option Explicit Dim bConnected As Boolean, bLoop As Boolean Function IfConnected(www$) As Boolean Dim d As Date, k&, b% 'On Error Resume Next 'If Winsock1.State <> sckClosed Then Winsock1.Close Winsock1.Close: bLoop = False d = Now Winsock1.RemoteHost = www ' "www.sina.com.cn" Winsock1.RemotePort = 80 Winsock1.Connect: b = 0 Do DoEvents k = DateDiff("s", d, Now) If k < 0 Or k > 5 Then b = 1: Exit Do Loop While bLoop = False If b = 0 Then IfConnected = bConnected Winsock1.Close End Function Private Sub Winsock1_Connect() On Error Resume Next Winsock1.Close bConnected = True bLoop = True End Sub Private Sub Command1_Click() MsgBox IfConnected("www.yahoo.com.cn") End Sub
Option Explicit
Dim bConnected As Boolean, bLoop As Boolean
Function IfConnected(www$) As Boolean
Dim d As Date, k&, b% 'On Error Resume Next 'If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Close: bLoop = False
d = Now
Winsock1.RemoteHost = www ' "www.sina.com.cn"
Winsock1.RemotePort = 80
Winsock1.Connect: b = 0
Do
DoEvents
k = DateDiff("s", d, Now)
If k < 0 Or k > 5 Then b = 1: Exit Do
Loop While bLoop = False
If b = 0 Then IfConnected = bConnected
Winsock1.Close
End Function
Private Sub Winsock1_Connect()
On Error Resume Next
Winsock1.Close
bConnected = True
bLoop = True
End Sub
Private Sub Command1_Click()
MsgBox IfConnected("www.yahoo.com.cn")
End Sub