📄 21224.html
字号:
<html> <head> <title>Re: 如何在VB中得知自己电脑的IP Address等网路资讯</title> </head> <body bgcolor="#FFFFFF" vlink="#808080"> <center> <h1>Re: 如何在VB中得知自己电脑的IP Address等网路资讯</h1> </center><hr size=7 width=75%><hr size=7 width=75%><p>Posted by <a href="mailto:TurboChen@yeah.net">无情</a> on November 10, 1999 at 18:17:31:<p>In Reply to: <a href="21048.html">如何在VB中得知自己电脑的IP Address等网路资讯</a> posted by 小陆 on November 06, 1999 at 12:15:50:<p>: as subject<br>请将以下代码copy到记事本另存为 .frm档案即可取得ip.<br>VERSION 5.00<br>Begin VB.Form frmIP <br> Caption = "Form1"<br> ClientHeight = 2835<br> ClientLeft = 3390<br> ClientTop = 1500<br> ClientWidth = 6690<br> LinkTopic = "Form1"<br> PaletteMode = 1 'UseZOrder<br> ScaleHeight = 2835<br> ScaleWidth = 6690<br> Begin VB.CommandButton Command1 <br> Caption = "Command1"<br> Height = 495<br> Left = 2400<br> TabIndex = 0<br> Top = 1140<br> Width = 1695<br> End<br>End<br>Attribute VB_Name = "frmIP"<br>Attribute VB_GlobalNameSpace = False<br>Attribute VB_Creatable = False<br>Attribute VB_PredeclaredId = True<br>Attribute VB_Exposed = False<br>Option Explicit<br> Private Const WS_VERSION_REQD = &H101<br> Private Const WS_VERSION_MAJOR = WS_VERSION_REQD \ &H100 And &HFF&<br> Private Const WS_VERSION_MINOR = WS_VERSION_REQD And &HFF&<br> Private Const MIN_SOCKETS_REQD = 1<br> Private Const SOCKET_ERROR = -1<br> Private Const WSADescription_Len = 256<br> Private Const WSASYS_Status_Len = 128<br> <br> Private Type HOSTENT<br> hName As Long<br> hAliases As Long<br> hAddrType As Integer<br> hLength As Integer<br> hAddrList As Long<br> End Type<br> <br> Private Type WSADATA<br> wversion As Integer<br> wHighVersion As Integer<br> szDescription(0 To WSADescription_Len) As Byte<br> szSystemStatus(0 To WSASYS_Status_Len) As Byte<br> iMaxSockets As Integer<br> iMaxUdpDg As Integer<br> lpszVendorInfo As Long<br> End Type<br> <br> Private Declare Function WSAGetLastError Lib "WSOCK32.DLL" () As Long<br> Private Declare Function WSAStartup Lib "WSOCK32.DLL" (ByVal wVersionRequired&, lpWSAData As WSADATA) As Long<br> Private Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long<br> Private Declare Function gethostname Lib "WSOCK32.DLL" (ByVal hostname$, HostLen&) As Long<br> Private Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal hostname$) As Long<br> <br> Private Declare Sub RtlMoveMemory Lib "KERNEL32" (hpvDest As Any, ByVal hpvSource&, ByVal cbCopy&)<br> Function hibyte(ByVal wParam As Integer)<br> <br> hibyte = wParam \ &H100 And &HFF&<br> <br> End Function<br> <br> Function lobyte(ByVal wParam As Integer)<br> <br> lobyte = wParam And &HFF&<br> <br> End Function<br> <br> Sub SocketsInitialize()<br> Dim WSAD As WSADATA<br> Dim iReturn As Integer<br> Dim sLowByte As String, sHighByte As String, sMsg As String<br> <br> iReturn = WSAStartup(WS_VERSION_REQD, WSAD)<br> <br> If iReturn <> 0 Then<br> MsgBox "Winsock.dll is not responding."<br> End<br> End If<br> <br> If lobyte(WSAD.wversion) < WS_VERSION_MAJOR Or (lobyte(WSAD.wversion) = WS_VERSION_MAJOR And hibyte(WSAD.wversion) < WS_VERSION_MINOR) Then<br> sHighByte = Trim$(Str$(hibyte(WSAD.wversion)))<br> sLowByte = Trim$(Str$(lobyte(WSAD.wversion)))<br> sMsg = "Windows Sockets version " & sLowByte & "." & sHighByte<br> sMsg = sMsg & " is not supported by winsock.dll "<br> MsgBox sMsg<br> End<br> End If<br> <br> If WSAD.iMaxSockets < MIN_SOCKETS_REQD Then<br> sMsg = "This application requires a minimum of "<br> sMsg = sMsg & Trim$(Str$(MIN_SOCKETS_REQD)) & " supported sockets."<br> MsgBox sMsg<br> End<br> End If<br> <br> End Sub<br> <br> Sub SocketsCleanup()<br> Dim lReturn As Long<br> <br> lReturn = WSACleanup()<br> <br> If lReturn <> 0 Then<br> MsgBox "Socket error " & Trim$(Str$(lReturn)) & " occurred in Cleanup """<br> End<br> End If<br> <br> End Sub<br> <p><br>Private Sub Command1_Click()<br> Dim hostname As String * 256<br> Dim hostent_addr As Long<br> Dim host As HOSTENT<br> Dim hostip_addr As Long<br> Dim temp_ip_address() As Byte<br> Dim i As Integer<br> Dim ip_address As String<br> <br> If gethostname(hostname, 256) = SOCKET_ERROR Then<br> MsgBox "Windows Sockets error " & Str(WSAGetLastError())<br> Exit Sub<br> Else<br> hostname = Trim$(hostname)<br> End If<br> <br> hostent_addr = gethostbyname(hostname)<br> <br> If hostent_addr = 0 Then<br> MsgBox "Winsock.dll is not responding."<br> Exit Sub<br> End If<br> <br> RtlMoveMemory host, hostent_addr, LenB(host)<br> RtlMoveMemory hostip_addr, host.hAddrList, 4<br> <br> ReDim temp_ip_address(1 To host.hLength)<br> RtlMoveMemory temp_ip_address(1), hostip_addr, host.hLength<br> <br> For i = 1 To host.hLength<br> ip_address = ip_address & temp_ip_address(i) & "."<br> Next<br> ip_address = Mid$(ip_address, 1, Len(ip_address) - 1)<br> <br> MsgBox hostname<br> MsgBox ip_address<br> <br>End Sub<p>Private Sub Form_Load()<br> SocketsInitialize<br>End Sub<p><br>Private Sub Form_Unload(Cancel As Integer)<br> SocketsCleanup<br>End Sub<p><p><br><br><hr size=7 width=75%><p><a name="followups">Follow Ups:</a><br><ul><!--insert: 21224--></ul><!--end: 21224--><br><hr size=7 width=75%><p></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -