is there any code which will print the users I.P on the screen?
Printable View
is there any code which will print the users I.P on the screen?
MsgBox Winsock1.LocalIP
Try This it might work for you
Hope this helps
this didnt work, it said it needed a variable
VB Code:
Option Explicit '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Copyright ©1996-2001 VBnet, Randy Birch, All Rights Reserved. ' Some pages may also contain other copyrights by the author. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' You are free to use this code within your own applications, ' but you are expressly forbidden from selling or otherwise ' distributing this source code without prior written consent. ' This includes both posting free demo projects made from this ' code as well as reproducing the code in text or html format. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Const MAX_ADAPTER_NAME_LENGTH As Long = 256 Private Const MAX_ADAPTER_DESCRIPTION_LENGTH As Long = 128 Private Const MAX_ADAPTER_ADDRESS_LENGTH As Long = 8 Private Const ERROR_SUCCESS As Long = 0 Private Type IP_ADDRESS_STRING IpAddr(0 To 15) As Byte End Type Private Type IP_MASK_STRING IpMask(0 To 15) As Byte End Type Private Type IP_ADDR_STRING dwNext As Long IpAddress As IP_ADDRESS_STRING IpMask As IP_MASK_STRING dwContext As Long End Type Private Type IP_ADAPTER_INFO dwNext As Long ComboIndex As Long 'reserved sAdapterName(0 To (MAX_ADAPTER_NAME_LENGTH + 3)) As Byte sDescription(0 To (MAX_ADAPTER_DESCRIPTION_LENGTH + 3)) As Byte dwAddressLength As Long sIPAddress(0 To (MAX_ADAPTER_ADDRESS_LENGTH - 1)) As Byte dwIndex As Long uType As Long uDhcpEnabled As Long CurrentIpAddress As Long IpAddressList As IP_ADDR_STRING GatewayList As IP_ADDR_STRING DhcpServer As IP_ADDR_STRING bHaveWins As Long PrimaryWinsServer As IP_ADDR_STRING SecondaryWinsServer As IP_ADDR_STRING LeaseObtained As Long LeaseExpires As Long End Type Private Declare Function GetAdaptersInfo Lib "iphlpapi.dll" _ (pTcpTable As Any, _ pdwSize As Long) As Long Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _ (dst As Any, _ src As Any, _ ByVal bcount As Long) Public Function LocalIPAddresses(ByVal sDelim As String) As String 'api vars Dim cbRequired As Long Dim buff() As Byte Dim Adapter As IP_ADAPTER_INFO Dim AdapterStr As IP_ADDR_STRING 'working vars Dim ptr1 As Long Dim sIPAddr As String Dim sAllAddr As String Call GetAdaptersInfo(ByVal 0&, cbRequired) If cbRequired > 0 Then ReDim buff(0 To cbRequired - 1) As Byte If GetAdaptersInfo(buff(0), cbRequired) = ERROR_SUCCESS Then 'get a pointer to the data stored in buff() ptr1 = VarPtr(buff(0)) 'ptr1 is 0 when no more adapters Do While (ptr1 <> 0) 'copy the data from the pointer to the 'first adapter into the IP_ADAPTER_INFO type CopyMemory Adapter, ByVal ptr1, LenB(Adapter) With Adapter 'the DHCP IP address is in the 'IpAddress.IpAddr member sIPAddr = TrimNull(StrConv(.IpAddressList.IpAddress.IpAddr, vbUnicode)) sAllAddr = sAllAddr & sIPAddr & "+" 'more? ptr1 = .dwNext End With 'With Adapter Loop 'Do While (ptr1 <> 0) End If 'If GetAdaptersInfo End If 'If cbRequired > 0 'remove the last comma If Len(sAllAddr) > 0 Then sAllAddr = Left$(sAllAddr, Len(sAllAddr) - 1) End If 'return any string found LocalIPAddresses = sAllAddr End Function Private Function TrimNull(item As String) Dim pos As Integer 'double check that there is a chr$(0) in the string pos = InStr(item, Chr$(0)) If pos Then TrimNull = Left$(item, pos - 1) Else: TrimNull = item End If End Function
That's the needed code. Here's an usage example:VB Code:
Private Sub Form_Load() Dim sIP As String Dim IP() As String Dim i As Integer sIP = LocalIPAddresses("+") IP = Split(sIP, "+") For i = 0 To UBound(IP) MsgBox IP(i) Next i End Sub
This can also be achieved by adding a winsock control to your form and putting in this code:
visual basic code:--------------------------------------------------------------------------------Private Sub Form_Load()
MsgBox = Winsock1.LocalIP
End Sub