三度网教程:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

取得本机IP地址的办法2则

时间:2024/6/5作者:未知来源:三度网教程人气:


方法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 Type

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
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 Function

Private Sub Command1_Click()
Dim ret As String
ret = GetIPAddress
If ret <> "" Then
MsgBox "当前计算机网卡IP:" & ret
End If
End Sub

关键词:  取得本机IP地址的办法2则





Copyright © 2012-2018 三度网教程(http://www.3du8.cn) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版