导航:首页 > 网络连接 > vb网络连接状态

vb网络连接状态

发布时间:2023-05-22 16:33:58

❶ vb怎样查看网络连接状态

Winsock.state 是显示当前Winsock 和另一主机连接的状态,它不是显示主机网络信息的.

用InternetGetConnectedState() 函数可以实现.为了方便你调用下面给模快代码你吧..

Private Declare Function InternetGetConnectedState Lib "Wininet.dll" (ByVal Flag As Long, ByVal Reserved As Long) As Long
Public Type Rtn_InetStat
IsConnecting As Boolean
IsModenConnecting As Boolean
IsModenBusy As Boolean
IsLANConnecting As Boolean
IsProxyConnecting As Boolean
End Type
Public Function RtnInetStat() As Rtn_InetStat
RtnInetStat.IsConnecting = RtnNunBooleanA(InternetGetConnectedState(0, 0))
RtnInetStat.IsModenConnecting = RtnNunBooleanB(InternetGetConnectedState(1, 0))
RtnInetStat.IsLANConnecting = RtnNunBooleanB(InternetGetConnectedState(2, 0))
RtnInetStat.IsProxyConnecting = RtnNunBooleanA(InternetGetConnectedState(4, 0))
RtnInetStat.IsModenBusy = RtnNunBooleanA(InternetGetConnectedState(8, 0))
End Function
Private Function RtnNunBooleanA(ByVal Num As Long) As Boolean
If Num = 0 Then
RtnNunBooleanA = False
Else
RtnNunBooleanA = True
End If
End Function
Private Function RtnNunBooleanB(ByVal Num As Long) As Boolean
If Num = 0 Then
RtnNunBooleanB = True
Else
RtnNunBooleanB = False
End If
End Function

获取当前网络是否已连接上:
Msgbox RtnInetStat.IsConnecting

❷ VB检测网络状态

'请试看这个 添加 Command1 修改下面你要检测的IP地址

Private Sub Command1_Click()
MsgBox IIf(CheckServ("192.168.1.1"), "服务器联线中", "服务器未联线") '你的服务器IP地址
End Sub

Public Function CheckServ(Ipadr As String) As Boolean
Dim aa$, bb$, fname$
CheckServ = False
fname = "c:\tmpfile.txt"
Open "c:\testip.bat" For Output As #1
Print #1, "@echo off"
Print #1, "ping " & Ipadr & " > " & fname
Close #1
If Dir(fname) <> "" Then Kill fname
Call Shell("cmd /c " & "c:\testip.bat", vbHide)
'延时5秒内是否得到文档
starttm = Timer
Do
DoEvents
If Dir(fname) <> "" Then
If FileLen(fname) > 10 Then Exit Do '得到文档即退出检测
End If
Loop Until Timer > = starttm + 5
bb = ""
If Dir(fname) <> "" Then
Open fname For Input As #1
While Not EOF(1)
Line Input #1, aa
bb = bb & aa & vbCrLf
Wend
Close #1
End If
CheckServ = IIf(InStr(bb, "Request") > 0, False, True)
If Dir("c:\testip.bat") <> "" Then Kill "c:\testip.bat"
End Function

❸ vb怎么判断网络是否已经连接上

GetHostbyName API可获取域名对应的IP地址,当没有联网状态将会返回一个错误值。所以可利用它来判断是否联网。

Private Sub Form_Load()
If IsConnectedState Then
MsgBox "连接网络"
Else
MsgBox "没有联网"
End If
End Sub

VBScript code复制代码

Option Explicit

Private Type WSADATA
wversion As Integer
wHighVersion As Integer
szDescription(0 To 256) As Byte
szSystemStatus(0 To 128) As Byte
iMaxSockets As Integer
iMaxUdpDg As Integer
lpszVendorInfo As Long
End Type

Private Declare Function WSAStartup Lib "WSOCK32.DLL" (ByVal wVersionRequired As Integer, lpWSAData As WSADATA) As Long
Private Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long
Private Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal szHostname As String) As Long
Private Const WS_VERSION_REQD = &H101

Public Function IsConnectedState() As Boolean
Dim udtWSAD As WSADATA
Call WSAStartup(WS_VERSION_REQD, udtWSAD)
IsConnectedState = CBool(gethostbyname("www..com"))
Call WSACleanup
End Function

阅读全文

与vb网络连接状态相关的资料

热点内容
不管到哪里都有网络 浏览:577
2015网络安全事件 浏览:999
七天网络系统如何扫描试卷 浏览:545
tp隐藏wifi后无法添加网络 浏览:870
oppo手机为什么总是无网络 浏览:938
电信信号满格但网络不好 浏览:542
网络电视干扰手机信号 浏览:285
绿联多功能扩展坞怎样连接网络设置 浏览:140
卧室里如何开通网络端口 浏览:347
无线桥接网络错误 浏览:799
路由器挑网络运营商 浏览:798
快手连接网络的安全证书是哪个 浏览:660
网络考试和成人高考含金量哪个高 浏览:260
长虹至尊8核网络播放器如何重置 浏览:916
联通号码上网怎么设置网络 浏览:212
苹果手机能打电话但是没有网络怎么回事 浏览:77
网络人气主播有哪些特点 浏览:594
忘记了网络密码该如何找 浏览:420
已知网络地址和掩码如何划分子网 浏览:888
孩子玩手机网络沉迷怎么办 浏览:601

友情链接