tft每日頭條

 > 生活

 > vb修改控件位置

vb修改控件位置

生活 更新时间:2024-07-18 07:12:00

vb修改控件位置(VB中不用控件獲取本地IP)1

GETIP.bas中

Private Const WS_VERSION_REQD = &H101

Private Const WS_VERSION_MAJOR = WS_VERSION_REQD \ &H100 And &HFF&

Private Const WS_VERSION_MINOR = WS_VERSION_REQD And &HFF&

Private Const MIN_SOCKETS_REQD = 1

Private Const SOCKET_ERROR = -1

Private Const WSADescription_Len = 256

Private Const WSASYS_Status_Len = 128

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 WSADescription_Len) As Byte

szSystemStatus(0 To WSASYS_Status_Len) 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&, lpWSAData As WSADATA) As Long

Private Declare Function WSACleanup Lib “WSOCK32.DLL” () As Long

Private Declare Function gethostbyname Lib “WSOCK32.DLL” (ByVal hostname$) As Long

Private Declare Sub RtlMoveMemory Lib “kernel32” (hpvDest As Any, ByVal hpvSource&, ByVal cbCopy&)

Public winsockstate As Boolean

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

winsockstate = True

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))) winsockstate = True End End If If WSAD.iMaxSockets < MIN_SOCKETS_REQD Then winsockstate = True End End If End Sub Sub SocketsCleanup() Dim lReturn As Long lReturn = WSACleanup() End Sub Public Function getlocalhostip() 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 On Error GoTo err hostent_addr = gethostbyname("") 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 ip_address = Mid$(ip_address, 1, Len(ip_address) - 1) getlocalhostip = ip_address Exit Function err: getlocalhostip = "獲取本地IP失敗" End Function

使用方法:

在form中調用getlocalhostip就行了,

List1.AddItem (“内網IP:” & getlocalhostip)

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved