青锋幽灵 18年前4月8日 阅读:333 评论:0
Option Explicit Private Type HOSTENT hName As Long hAliases As Long hAddrType As Integer hLength As Integer hAddrList As Long End Type Private Type WSADATA wversion As Integer wHighVersion As Integer szDescription(0 To 256) As Byte szSystemStatus(0 To 128) As Byte iMaxSockets As Integer iMaxUdpDg As Integer lpszVendorInfo As Long End Type Private Declare Function WSAGetLastError Lib "WSOCK32.DLL" () As Long Private Declare Function WSAStartup Lib "WSOCK32.DLL" (ByVal wVersionRequired As Integer, lpWSAData As WSADATA) As Long Private Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long Private Declare Function gethostname Lib "WSOCK32.DLL" (ByVal szHostname As String, ByVal HostLen As Long) As Long Private Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal szHostname As String) As Long Private Declare Sub RtlMoveMemory Lib "KERNEL32" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long) Private Const WS_VERSION_REQD = &H101 Private Function Test(URL As String) As String InitializeWinSock Test = GetAddressByName(URL) TerminateWinSock End Function Private Function GetAddressByName(strHostname As String) Dim lngAddr As Long Dim udtHost As HOSTENT Dim lngIP As Long Dim bteTmp() As Byte Dim i As Integer Dim strIP As String lngAddr = gethostbyname(strHostname) If lngAddr = 0 Then MsgBox "Kein Host gefunden." GetAddressByName = Null Exit Function End If RtlMoveMemory udtHost, lngAddr, LenB(udtHost) RtlMoveMemory lngIP, udtHost.hAddrList, 4 ReDim bteTmp(1 To udtHost.hLength) RtlMoveMemory bteTmp(1), lngIP, udtHost.hLength For i = 1 To udtHost.hLength strIP = strIP & bteTmp(i) & "." Next strIP = Mid$(strIP, 1, Len(strIP) - 1) GetAddressByName = strIP End Function Private Sub InitializeWinSock() Dim udtWSAD As WSADATA Dim lngRet As Long lngRet = WSAStartup(WS_VERSION_REQD, udtWSAD) If lngRet <> 0 Then MsgBox "Winsock.dll konnte nicht initialisiert werden." End End If End Sub Private Sub TerminateWinSock() Dim lngRet As Long lngRet = WSACleanup() If lngRet <> 0 Then MsgBox "Fehler " & lngRet & " beim Beenden von Winsock.dll" End End If End Sub Private Sub Command1_Click() Dim MyURL As String MyURL = "domain" MsgBox MyURL & "的IP地址是:" & Test(MyURL) End Sub
゛. - 看過世间最冷漠滴眼神, 爱過⒈生最无缘滴人﹎
青锋幽灵 15年前9月17日
青锋幽灵 8年前11月22日
stceed 21年前1月1日
青锋幽灵 11年前10月31日
青锋幽灵 21年前5月10日
青锋幽灵 14年前9月11日
青锋幽灵 12年前12月28日
青锋幽灵 21年前5月26日
Koolan94520 19年前12月27日
青锋幽灵 14年前9月13日
该页面还没有任何评论,赶快占个沙发吧!