【VB技巧】VB 获取本机当前所有IP地址

admin 2021年4月3日19:00:13评论78 views字数 2415阅读8分3秒阅读模式

    VB 获取本机当前所有IP地址,VB 获取本机所有IP地址,VB 本机所有IP地址,VB 获取当前所有IP地址,VB 获取本机所有IP,VB 本机当前所有IP,VB 获取本机IP,VB 本机所有IP,VB 本机IP,VB 获取本机所有IP,VB 获取所有IP,VB 获取IP,VB IP,VB IP 地址,VB 子网掩码,VB 广播地址。

VB 获取本机当前所有IP地址:

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function GetIpAddrTable Lib "IPHlpApi" (pIPAdrTable As Byte, pdwSize As Long, ByVal Sort As Long) As Long
Private Const MAX_IP = 255
Private Type IPINFO
    dwAddr       As Long                                                        'Ip地址
    dwIndex      As Long
    dwMask       As Long                                                        '子网掩码
    dwBCastAddr  As Long                                                        '广播地址
    dwReasmSize  As Long
    unused1      As Integer
    unused2      As Integer
End Type
Private Type MIB_IPADDRTABLE
    dEntrys      As Long
    mIPInfo(MAX_IP)   As IPINFO
End Type
Private Type IP_Array
    mBuffer      As MIB_IPADDRTABLE
    BufferLen    As Long
End Type
Dim strIP        As String

Private Function ConvertAddressToString(longAddr As Long) As String
    Dim myByte(3) As Byte
    Dim Cnt As Long
    CopyMemory myByte(0), longAddr, 4
    For Cnt = 0 To 3
        ConvertAddressToString = ConvertAddressToString + CStr(myByte(Cnt)) + "."
    Next Cnt
    ConvertAddressToString = Left$(ConvertAddressToString, Len(ConvertAddressToString) - 1)
End Function

Public Sub Start()
    Dim Ret As Long, Tel   As Long
    Dim bBytes() As Byte
    Dim Listing As MIB_IPADDRTABLE
    On Error GoTo END1
    GetIpAddrTable ByVal 0&, Ret, True
    If Ret
    ReDim bBytes(0 To Ret - 1) As Byte
    GetIpAddrTable bBytes(0), Ret, False
    CopyMemory Listing.dEntrys, bBytes(0), 4
    strIP = "你电脑里有 " & Listing.dEntrys & "个IP 地址" & vbCrLf
    strIP = strIP & "------------------------------------------------" & vbCrLf & vbCrLf
    For Tel = 0 To Listing.dEntrys - 1
        CopyMemory Listing.mIPInfo(Tel), bBytes(4 + (Tel * Len(Listing.mIPInfo(0)))), Len(Listing.mIPInfo(Tel))
        strIP = strIP & "IP 地址 : " & ConvertAddressToString(Listing.mIPInfo(Tel).dwAddr) & vbCrLf
        strIP = strIP & "子网掩码 :   " & ConvertAddressToString(Listing.mIPInfo(Tel).dwMask) & vbCrLf
        strIP = strIP & "广播地址 :   " & ConvertAddressToString(Listing.mIPInfo(Tel).dwBCastAddr) & vbCrLf
        strIP = strIP & "------------------------------------------------" & vbCrLf
    Next
    Exit Sub
END1:
    MsgBox "ERROR"
End Sub

Private Sub Form_Load()
    Start
    MsgBox strIP
End Sub

文章来源于lcx.cc:【VB技巧】VB 获取本机当前所有IP地址

相关推荐: 快捷支付和某些信用卡功能是否存在缺陷?知道银行卡号和有效期就能消费!

快捷支付和某些信用卡功能是否存在缺陷? 我是小号 | 2014-08-22 10:13 现状: 乌云上曾经有人爆料信用卡只要知道银行卡号和有效期就能在某些网站上进行任意消费,同时各大支付产品比如财付通,支付宝开通快捷支付只需要提供银行卡号,身份证号,姓名,和手…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月3日19:00:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【VB技巧】VB 获取本机当前所有IP地址http://cn-sec.com/archives/319533.html

发表评论

匿名网友 填写信息