📄 form1.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "IP地址"
ClientHeight = 3195
ClientLeft = 60
ClientTop = 345
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3195
ScaleWidth = 4680
StartUpPosition = 3 '窗口缺省
Begin VB.TextBox Text1
Height = 615
Left = 840
TabIndex = 1
Top = 840
Width = 2775
End
Begin VB.CommandButton Command1
Caption = "IP地址"
Height = 495
Left = 1080
TabIndex = 0
Top = 1920
Width = 2295
End
Begin VB.Label Label1
Caption = "机器名称"
Height = 375
Left = 840
TabIndex = 2
Top = 240
Width = 1815
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Function hibyte(ByVal wParam As Integer)
hibyte = wParam \ &H100 And &HFF&
End Function
Function lobyte(ByVal wParam As Integer)
lobyte = wParam And &HFF&
End Function
Sub SocketsInitialize()
Dim WSAD As WSADATA
Dim iReturn As Integer
Dim sLowByte As String, sHighByte As String, sMsg As String
iReturn = WSAStartup(WS_VERSION_REQD, WSAD)
If iReturn <> 0 Then
MsgBox "Winsock.dll is not responding."
End
End If
If lobyte(WSAD.wversion) < WS_VERSION_MAJOR Or _
(lobyte(WSAD.wversion) = WS_VERSION_MAJOR And _
hibyte(WSAD.wversion) < WS_VERSION_MINOR) Then
sHighByte = Trim$(Str$(hibyte(WSAD.wversion)))
sLowByte = Trim$(Str$(lobyte(WSAD.wversion)))
sMsg = "Windows Sockets version " & sLowByte & "." & sHighByte
sMsg = sMsg & " is not supported by winsock.dll "
MsgBox sMsg
End
End If
If WSAD.iMaxSockets < MIN_SOCKETS_REQD Then
sMsg = "This application requires a minimum of "
sMsg = sMsg & Trim$(Str$(MIN_SOCKETS_REQD)) & " supported sockets."
MsgBox sMsg
End
End If
End Sub
Sub SocketsCleanup()
Dim lReturn As Long
lReturn = WSACleanup()
If lReturn <> 0 Then
'Socket有错误
MsgBox "Socket error " & Trim$(Str$(lReturn)) & " occurred in Cleanup "
End
End If
End Sub
Private Sub Form_Load()
Dim l1 As String
Dim l2 As Long
Dim l3 As Long
l2 = 255
l1 = String$(l2, " ")
'得到本机的名字。
l3 = GetComputerName(l1, l2)
getname = ""
If l3 <> 0 Then
getname = Left(l1, l2)
End If
Text1.Text = getname
'Socket初始化
SocketsInitialize
End Sub
Private Sub Form_Unload(Cancel As Integer)
'关闭Socket
SocketsCleanup
End Sub
Private Sub Command1_click()
Dim hostent_addr As Long
Dim host As HOSTENT
Dim hostip_addr As Long
Dim temp_ip_address() As Byte
Dim i As Integer
Dim ip_address As String
'取得主机地址
hostent_addr = gethostbyname(Text1)
If hostent_addr = 0 Then
Exit Sub
End If
RtlMoveMemory host, hostent_addr, LenB(host)
RtlMoveMemory hostip_addr, host.hAddrList, 4
ReDim temp_ip_address(1 To host.hLength)
RtlMoveMemory temp_ip_address(1), hostip_addr, host.hLength
For i = 1 To host.hLength
ip_address = ip_address & temp_ip_address(i) & "."
Next i
ip_address = Mid$(ip_address, 1, Len(ip_address) - 1)
MsgBox "IP:" + ip_address
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -