[分享]纯VB实现ping(能否ping通)的功能,调用方便
'调用:msgbox IPValid("192.168.1.1")'模块代码,以下代码统一放入一个模块中mPing
'互联网搜索得到,略加整理
Private Const IP_STATUS_BASE = 11000
Private Const IP_SUCCESS = 0
Private Const IP_BUF_TOO_SMALL = (11000 + 1)
Private Const IP_DEST_NET_UNREACHABLE = (11000 + 2)
Private Const IP_DEST_HOST_UNREACHABLE = (11000 + 3)
Private Const IP_DEST_PROT_UNREACHABLE = (11000 + 4)
Private Const IP_DEST_PORT_UNREACHABLE = (11000 + 5)
Private Const IP_NO_RESOURCES = (11000 + 6)
Private Const IP_BAD_OPTION = (11000 + 7)
Private Const IP_HW_ERROR = (11000 + 8)
Private Const IP_PACKET_TOO_BIG = (11000 + 9)
Private Const IP_REQ_TIMED_OUT = (11000 + 10)
Private Const IP_BAD_REQ = (11000 + 11)
Private Const IP_BAD_ROUTE = (11000 + 12)
Private Const IP_TTL_EXPIRED_TRANSIT = (11000 + 13)
Private Const IP_TTL_EXPIRED_REASSEM = (11000 + 14)
Private Const IP_PARAM_PROBLEM = (11000 + 15)
Private Const IP_SOURCE_QUENCH = (11000 + 16)
Private Const IP_OPTION_TOO_BIG = (11000 + 17)
Private Const IP_BAD_DESTINATION = (11000 + 18)
Private Const IP_ADDR_DELETED = (11000 + 19)
Private Const IP_SPEC_MTU_CHANGE = (11000 + 20)
Private Const IP_MTU_CHANGE = (11000 + 21)
Private Const IP_UNLOAD = (11000 + 22)
Private Const IP_ADDR_ADDED = (11000 + 23)
Private Const IP_GENERAL_FAILURE = (11000 + 50)
Private Const MAX_IP_STATUS = 11000 + 50
Private Const IP_PENDING = (11000 + 255)
Private Const PING_TIMEOUT = 200
Private Const WS_VERSION_REQD = &H101
Private Const WS_VERSION_MAJOR = WS_VERSION_REQD \ &H100 And &HFF&
Private Const WS_VERSION_MINOR = WS_VERSION_REQD And &HFF&
Private Const MIN_SOCKETS_REQD = 1
Private Const SOCKET_ERROR = -1
Private Const MAX_WSADescription = 256
Private Const MAX_WSASYSStatus = 128
Private Type ICMP_OPTIONS
Ttl As Byte
Tos As Byte
Flags As Byte
OptionsSize As Byte
OptionsData As Long
End Type
Dim ICMPOPT As ICMP_OPTIONS
Private Type ICMP_ECHO_REPLY
Address As Long
status As Long
RoundTripTime As Long
DataSize As Integer
Reserved As Integer
DataPointer As Long
Options As ICMP_OPTIONS
Data As String * 250
End Type
Private Type WSADATA
wVersion As Integer
wHighVersion As Integer
szDescription(0 To MAX_WSADescription) As Byte
szSystemStatus(0 To MAX_WSASYSStatus) As Byte
wMaxSockets As Integer
wMaxUDPDG As Integer
dwVendorInfo As Long
End Type
Private Declare Function IcmpCreateFile Lib "icmp.dll" () As Long
Private Declare Function IcmpCloseHandle Lib "icmp.dll" _
(ByVal IcmpHandle As Long) _
As Long
Private Declare Function IcmpSendEcho Lib "icmp.dll" _
(ByVal IcmpHandle As Long, _
ByVal DestinationAddress As Long, _
ByVal RequestData As String, _
ByVal RequestSize As Integer, _
ByVal RequestOptions As Long, _
ReplyBuffer As ICMP_ECHO_REPLY, _
ByVal ReplySize As Long, _
ByVal Timeout As Long) _
As Long
Private Declare Function WSAGetLastError Lib "WSOCK32.DLL" () As Long
Private Declare Function WSAStartup Lib "WSOCK32.DLL" _
(ByVal wVersionRequired As Long, _
lpWSADATA As WSADATA) _
As Long
Private Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long
...全文
相关推荐
VB实现ping功能
如何用VB实现PING呢?看看这个程序吧,很简单的实现了,而且还带有托盘图标,大家可以看下,不懂的话可以问我!
VB.NET UDP通信教学样本深度解析与工业诊断实践
UDP是一种无连接、不可靠但高效率的传输层协议,其核心特性包括校验和可选性、无状态通信及应用层自主节流。理解UDP协议号(0x11)、MTU分片边界、校验和计算逻辑与接收缓冲区机制,是开展网络调试、工控通讯(如AB PLC MSG指令)和嵌入式设备(如CH395)对接的基础。技术价值在于将抽象协议参数转化为可测量指标——如端到端抖动、路径MTU、TTL生存期与丢包根因定位。典型应用场景涵盖实验室教学演示、产线PLC UDP通讯故障排查、Wireshark协议分析及VB.NET/WinForms工程实操。本文
VB 实现PING功能
VB PING 网络 VB PING 网络 VB PING 网络
VB实现IP地址判断并用ping测试
用VB实现判断IP地址是否输入正确,并用ping测试输入的IP主机是否正常工作
vba使用ping测试网络通断 64位
在vba中可以使用ping ip地址的功能。 直接调用PingIP(ip地址)即可,返回值true为能ping通,false为ping不通。 例如PingIP(“192.168.100.75”)如果能ping通返回为true,不能ping通返回为false。


VB基础类

