首页 > 其他分享 >取得本机IP地址的方法两则

取得本机IP地址的方法两则

时间:2023-01-15 12:03:47浏览次数:38  
标签:Dim Sub ByVal 取得 Long IP地址 两则 IpAdr Declare


方法1:(控件法)

新建工程,在工程中加入Winsock控件和一个按钮控件

代码:

Option Explicit

Private Sub Command1_Click()
   MsgBox "当前计算机网卡IP:" & Winsock1.LocalIP
End Sub

方法2:(API法)

新建工程,在工程中加入一个按钮控件

代码:

Option Explicit
Private Type WSAData
wVersion As Integer
wHighVersion As Integer
szDescription(0 To 256)
szSystemStatus(0 To 128)
wMaxSockets As Integer
dwVendorInfo As Long
End TypePrivate Declare Function WSAStartup Lib "WSOCK32.DLL" (ByVal wVersionRequired As Long, lpWSAData As WSAData) As Long
Private Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long
Private Declare Function gethostname Lib "WSOCK32.DLL" (ByVal szHost As String, ByVal dwHostLen As Long) As Long
Private Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal szHost As String) As Long
Private Declare Sub CopyMemoryIP Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)Private Function GetIPAddress() As String
On Error GoTo Z
Dim wsa As WSAData
Dim rVal As Long
Dim sHost As String * 256
Dim lp As Long
Dim lpa As Long
Dim IpAdr(0 To 3) As Byte
rVal = WSAStartup((2 + &H100), wsa)
If rVal = 0 Then
gethostname sHost, 256
lp = gethostbyname(sHost)
If lp Then
CopyMemoryIP lpa, lp + 16, 4
CopyMemoryIP IpAdr(0), lpa, 4
GetIPAddress = CStr(IpAdr(0)) & "." & CStr(IpAdr(1)) & "." & CStr(IpAdr(2)) & "." & CStr(IpAdr(3))
End If
WSACleanup
End If
Exit Function
Z:
GetIPAddress = ""
End FunctionPrivate Sub Command1_Click()
Dim ret As String
ret = GetIPAddress
If ret <> "" Then
MsgBox "当前计算机网卡IP:" & ret
End If
End Sub


' 作者:唐细刚

标签:Dim,Sub,ByVal,取得,Long,IP地址,两则,IpAdr,Declare
From: https://blog.51cto.com/u_8260968/6008522

相关文章

  • ASP如何获取客户端真实IP地址
    在ASP中使用Request.ServerVariables("REMOTE_ADDR")来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址......
  • VMware下配置Ubuntu为静态IP地址并使用SSH登录
    安装虚拟机之后,经常需要使用xshell进行远程连接登录,但是安装后的虚拟机默认为DHCP动态分配IP地址,每次重启虚拟机IP就会改变,很不方便,所以这里我们需要将其设置为静态IP1......
  • 代码随想录算法训练营第二十八天 | ● 93.复原IP地址 ● 78.子集 ● 90.子集II
    ●93.复原IP地址●78.子集●90.子集II详细布置93.复原IP地址本期本来是很有难度的,不过大家做完分割回文串之后,本题就容易很多了题目链接/文章讲解:https......
  • GPS定位与IP地址定位有何不同?
    随着数字化时代到来,智能终端快速普及与应用,人们在生活和工作中越来越多地应用到位置服务,从导航查询,到侦查搜救,位置核验等应用十分广泛。万物互联的到来,更是对位置服务的要求......
  • 网卡IP地址信息一键查看工具V1.0-免费版
    1.简介:最近博主使用Python开发了一款小工具,它可以一键查看网卡的IP地址、子网掩码、默认网关和DNS信息以及MAC地址,简单方便!直接双击运行:2.下载地址:蓝奏云链接:https:/......
  • 查询局域网内IP地址
    在电脑开始菜单[运行],输入cmd回车,在弹出的命令提示窗口输入ipconfig/all回车,能够查看本机的IP、网关、mac地址信息。然后在命令提示窗口输入arp-a,进行回车,等待返回结果......
  • Java 获取本机IP地址
    文章目录​​前言​​​​一、规则​​​​二、获取​​​​1.使用​​​​2.工具类​​前言在Java中如何准确的获取到本机IP地址呢?网上大部分的做法是​​InetAddress.getL......
  • 通过DHCP动态管理IP地址
    DHCP动态主机配置协议是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址、子网掩码、网关以及DNS等tcp/ip信息,给用户或者......
  • 特殊ip地址
    1.有限广播地址地址范围:255.255.255这个地址称为有限广播地址,它可以作为一个IP报文的目的IP地址使用。路由器接收到目的IP地址为有限广播地址的IP报文后,会停止对该IP报......
  • Ubuntu 16.04设置静态IP地址(NAT方式)
    转发:https://www.linuxdiyf.com/linux/20707.html 1.安装环境VMware10.0.4build-2249910Ubuntu16.04x86_642.在VMware中,配置网络环境VMware在默认安装完成之后,......