因为正好有用到,整了个公用函数,一次获取本机全部IP地址:

Option ExplicitPrivate Declare Function WSAstartup Lib "WSOCK32.DLL" Alias "WSAStartup" (ByVal wVersionRequired As Integer, ByRef lpWSAData As WSAdata) As Long
Private Declare Function WsACleanup Lib "WSOCK32.DLL" Alias "WSACleanup" () As Long
Private Declare Function WSAIoctl Lib "ws2_32.dll" (ByVal s As Long, ByVal dwIoControlCode As Long, lpvInBuffer As Any, ByVal cbInBuffer As Long, lpvOutBuffer As Any, ByVal cbOutBuffer As Long, lpcbBytesReturned As Long, lpOverlapped As Long, lpCompletionRoutine As Long) As Long
Private Declare Function socket Lib "WSOCK32.DLL" (ByVal af As Long, ByVal s_type As Long, ByVal protocol As Long) As Long
Private Declare Function closesocket Lib "WSOCK32.DLL" (ByVal s As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)Private Type sockaddrsin_family As Integersin_port As Integersin_addr As Longsin_zero As String * 8
End TypePrivate Type sockaddr_genAddressIn As sockaddrfiller(0 To 7) As Byte
End TypePrivate Type INTERFACE_INFOiiFlags As LongiiAddress As sockaddr_geniiBroadcastAddress As sockaddr_geniiNetmask As sockaddr_gen
End TypePrivate Type INTERFACEINFOiInfo(0 To 7) As INTERFACE_INFO
End TypePrivate Type WSAdatawVersion As IntegerwHighVersion As IntegerszDescription As String * 255szSystemStatus As String * 128iMaxSockets As IntegeriMaxUdpDg As IntegerlpVendorInfo As Long
End TypePrivate Const AF_INET = 2
Private Const SOCK_STREAM = 1
Private Const INVALID_SOCKET = -1
Private Const SIO_GET_INTERFACE_LIST As Long = &H4004747FPrivate Function GetStrIPFromLong(nIP As Long) As StringOn Error Resume NextDim btBuffer(3) As ByteCall CopyMemory(ByVal VarPtr(btBuffer(0)), ByVal VarPtr(nIP), 4)Let GetStrIPFromLong = btBuffer(0) & "." & btBuffer(1) & "." & btBuffer(2) & "." & btBuffer(3)
End FunctionPublic Function EnumLocalIpAddress() As String()On Error GoTo ZDim lngSocketHandle       As LongDim lngBytesReturned      As LongDim tpBuffer              As INTERFACEINFODim nNumInterfaces        As IntegerDim i                     As IntegerDim StartupInfo           As WSAdataDim strIPBuffer()         As StringIf WSAstartup(&H202, StartupInfo) <> 0 ThenExit FunctionEnd IflngSocketHandle = socket(AF_INET, SOCK_STREAM, 0)If lngSocketHandle = INVALID_SOCKET ThenExit FunctionEnd IfIf WSAIoctl(lngSocketHandle, SIO_GET_INTERFACE_LIST, ByVal 0, ByVal 0, tpBuffer, 1024, lngBytesReturned, ByVal 0, ByVal 0) Thenclosesocket lngSocketHandleExit FunctionEnd IfnNumInterfaces = CInt(lngBytesReturned / 76)ReDim strIPBuffer(nNumInterfaces - 1)For i = 0 To nNumInterfaces - 1strIPBuffer(i) = GetStrIPFromLong(tpBuffer.iInfo(i).iiAddress.AddressIn.sin_addr)Next iEnumLocalIpAddress = strIPBufferclosesocket lngSocketHandleWsACleanupExit Function
Z:
End Function

使用很简单:

    Dim i As Long, strIPAdd() As StringstrIPAdd = EnumLocalIpAddressIf SafeArrayGetDim(strIPAdd) > 0 ThenFor i = 0 To UBound(strIPAdd)Debug.Print strIPAdd(i)NextEnd If

VB6获取本机所有IP地址公用函数相关推荐

  1. python项目实战:获取本机所有IP地址的方法

    2019独角兽企业重金招聘Python工程师标准>>> 前言 今天为大家介绍一个利用python获取本机所有IP地址的具体代码,具有一定的参考价值,希望能够帮助到大家,代码如下: 导 ...

  2. 【Win 10 应用开发】获取本机的IP地址

    按照老规矩,也是朋友的建议,老周今天在吹牛之前,先讲一个小故事. 有朋友问我,老周,你现在还发短信吗,你每个月用多少电话费?唉,实话说,现在真的发短信不多了,套餐送的130条短信,每月都发不了一条.至 ...

  3. C++获取本机的ip地址程序

    C++获取本机的ip地址程序 #include <WinSock2.h> #pragma comment(lib,"ws2_32") //链接到ws2_32动态链接库c ...

  4. 使用Linux curl命令获取本机公网IP地址

    使用Linux curl命令获取本机公共IP地址 在本教程中,我们将学习如何使用Linux curl命令查找计算机的公共IP地址. 通常,如果我们想要找到我们使用的公共IP地址,我们会去谷歌并搜索&q ...

  5. Spring boot 获取本机的IP地址mac地址以及电脑名称!

    Spring boot 获取本机的IP地址mac地址以及电脑名称! package com.example.demo;import java.net.InetAddress;import java.n ...

  6. 如何在Node.js中获取本机本地IP地址

    最近在做Cloud related的项目时,遇到一个问题,就是如何在Node.js中获取本机的IP地址.Node.js提供的API中,只能获取本机的hostname. os = require('os ...

  7. C#如何获取本机网络ip地址

    C#如何获取本机网络ip 有几种方法获取本机局域网地址和网络地址. 1.  获取本机局域网地址: 使用IPHostEntry static string GetLocalIp()         { ...

  8. sql server 获取本机的ip地址

    --sql server 获取本机的ip地址 -- 其实就是使用xp_cmdshell 来获取信息,然后对信息进行筛选. --开启xp_cmdshell exec sp_configure 'show ...

  9. 获取本机所有IP地址的方法

    获取本机所有IP地址的方法    java.net包中的IP地址类InetAddress提供了可以获取本机IP地址的方法getLocalHost(),但是通过该方法只能获得第一个网络设备的IP地址.但 ...

最新文章

  1. Metasploit irb命令使用技巧
  2. 笔记-信息系统开发基础-软件工程-评审与审计
  3. [安全攻防进阶篇] 六.逆向分析之OllyDbg逆向CrackMe01-02及加壳判断
  4. UI5控件类似Java反射机制的一个小技巧
  5. 线性结构 —— 分块算法 —— 分块九讲
  6. 【前端性能优化】不用 setTimeout 实现防抖
  7. cron表达式在线测试
  8. 设计模式-策略模式(Strategy)
  9. SAP License:SAP IDES常用功能及测试环境
  10. shell基础--1
  11. xdebug+webgrind
  12. Mac下输入法总是默认中文,怎么设置成英文的?
  13. AM调制解调matlab实验报告,基于MATLAB的AM调制解调系统仿真报告
  14. 基于微软 SAPI 的 TTS 程序实现
  15. zzulioj :2020新生赛:花海
  16. 毛永胜计算机教师,呼和浩特市小学信息技术学科基本功获奖教师展示课活动
  17. java实现单一登录 踢人效果
  18. XML是什么?有什么用?
  19. [渝粤教育] 西南科技大学 国际贸易理论与实务 在线考试复习资料2021版
  20. 2.1 深入理解Python语言 | Python语言程序设计(嵩天)

热门文章

  1. Oracle技术之O7_DICTIONARY_ACCESSIBILITY(二)
  2. android之appwidget(一)简单appwidget
  3. 有关Cassandra节点之间的通信:Gossip【译】
  4. div+css中常见的问题
  5. 死锁与活锁的区别,死锁与饥饿的区别?
  6. spark任务shell运行_Spark原理与实战之部署模式与运行机制
  7. python连连看小游戏_python递归法实现简易连连看小游戏
  8. 框架源码专题:Mybatis启动和执行流程、源码级解析
  9. 上传文件的加密和下载文件解密
  10. 流处理开源框架Flink原理简介和使用