October 2009
M T W T F S S
    Nov »
 1234
567891011
12131415161718
19202122232425
262728293031  

Archives

Categories

  • [+]ASP.NET (7) 
  • [+]C# (87) 
  • [+]C++ (13) 
  • [+]Delphi (20) 
  • [+]JavaScript (24) 
  • [+]Regular Expressions (7) 
  • [+]SQL (13) 
  • [—]VB (100) 
  • [+]VB.NET (4) 

Online

Users: 9 Guests
  • Loading...


    Loading...

    Login






    Register | Lost password?

    Register





    A password will be mailed to you.
    Log in | Lost password?

    Retrieve password





    A confirmation mail will be sent to your e-mail address.
    Log in | Register
  • Find Your IP Address

    ' ----------------------------
    ' Constants & API Declarations
    ' ----------------------------
    
    ' Winsock2.bas
    Option Explicit
    
    Public Const MAX_WSADescription = 256
    Public Const MAX_WSASYSStatus = 128
    Public Const ERROR_SUCCESS       As Long = 0
    Public Const WS_VERSION_REQD     As Long = &H101
    Public Const WS_VERSION_MAJOR    As Long = WS_VERSION_REQD \ &H100 And &HFF&
    Public Const WS_VERSION_MINOR    As Long = WS_VERSION_REQD And &HFF&
    Public Const MIN_SOCKETS_REQD    As Long = 1
    Public Const SOCKET_ERROR        As Long = -1
    
    Public Type HOSTENT
       hName      As Long
       hAliases   As Long
       hAddrType  As Integer
       hLen       As Integer
       hAddrList  As Long
    End Type
    
    Public Type WSADATA
       wVersion      As Integer
       wHighVersion  As Integer
       szDescription(0 To MAX_WSADescription)   As Byte
       szSystemStatus(0 To MAX_WSASYSStatus)    As Byte
       wMaxSockets   As Integer
       wMaxUDPDG     As Integer
       dwVendorInfo  As Long
    End Type
    
    Public Declare Function WSAGetLastError Lib "WSOCK32.DLL" () As Long
    
    Public Declare Function WSAStartup Lib "WSOCK32.DLL" _
       (ByVal wVersionRequired As Long, lpWSADATA As WSADATA) As Long
    
    Public Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long
    
    Public Declare Function gethostname Lib "WSOCK32.DLL" _
       (ByVal szHost As String, ByVal dwHostLen As Long) As Long
    
    Public Declare Function gethostbyname Lib "WSOCK32.DLL" _
       (ByVal szHost As String) As Long
    
    Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
       (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
    
    ' ---------
    ' Code
    ' ---------
    Public Function GetIPAddress() As String
       Dim sHostName    As String * 256
       Dim lpHost    As Long
       Dim HOST      As HOSTENT
       Dim dwIPAddr  As Long
       Dim tmpIPAddr() As Byte
       Dim i         As Integer
       Dim sIPAddr  As String
    
       If Not SocketsInitialize() Then
          GetIPAddress = ""
          Exit Function
       End If
       If gethostname(sHostName, 256) = SOCKET_ERROR Then
          GetIPAddress = ""
          MsgBox "Windows Sockets error " & Str$(WSAGetLastError()) & _
                  " has occurred. Unable to successfully get Host Name."
          SocketsCleanup
          Exit Function
       End If
       sHostName = Trim$(sHostName)
       lpHost = gethostbyname(sHostName)
    
       If lpHost = 0 Then
          GetIPAddress = ""
          MsgBox "Windows Sockets are not responding. " & _
                  "Unable to successfully get Host Name."
          SocketsCleanup
          Exit Function
       End If
    
       CopyMemory HOST, lpHost, Len(HOST)
       CopyMemory dwIPAddr, HOST.hAddrList, 4
       ReDim tmpIPAddr(1 To HOST.hLen)
       CopyMemory tmpIPAddr(1), dwIPAddr, HOST.hLen
       For i = 1 To HOST.hLen
          sIPAddr = sIPAddr & tmpIPAddr(i) & "."
       Next
    
       GetIPAddress = Mid$(sIPAddr, 1, Len(sIPAddr) - 1)
    
       SocketsCleanup
    End Function
    
    ' ==================================================================== '
    
    Public Function HiByte(ByVal wParam As Integer)
        HiByte = wParam \ &H100 And &HFF&
    End Function
    
    ' ==================================================================== '
    
    Public Function LoByte(ByVal wParam As Integer)
        LoByte = wParam And &HFF&
    End Function
    
    ' ==================================================================== '
    
    Public Sub SocketsCleanup()
        If WSACleanup() <> ERROR_SUCCESS Then
            MsgBox "Socket error occurred in Cleanup."
        End If
    End Sub
    
    ' ==================================================================== '
    
    Public Function SocketsInitialize() As Boolean
       Dim WSAD As WSADATA
       Dim sLoByte As String
       Dim sHiByte As String
    
       If WSAStartup(WS_VERSION_REQD, WSAD) <> ERROR_SUCCESS Then
          MsgBox "The 32-bit Windows Socket is not responding."
          SocketsInitialize = False
          Exit Function
       End If
    
       If WSAD.wMaxSockets < MIN_SOCKETS_REQD Then
            MsgBox "This application requires a minimum of " & _
                    CStr(MIN_SOCKETS_REQD) & " supported sockets."
    
            SocketsInitialize = False
            Exit Function
       End If
    
       If LoByte(WSAD.wVersion) < WS_VERSION_MAJOR Or _
         (LoByte(WSAD.wVersion) = WS_VERSION_MAJOR And _
          HiByte(WSAD.wVersion) < WS_VERSION_MINOR) Then
    
          sHiByte = CStr(HiByte(WSAD.wVersion))
          sLoByte = CStr(LoByte(WSAD.wVersion))
    
          MsgBox "Sockets version " & sLoByte & "." & sHiByte & _
                 " is not supported by 32-bit Windows Sockets."
    
          SocketsInitialize = False
          Exit Function
    
       End If
        SocketsInitialize = True
    End Function
    
    Share: These icons link to social bookmarking sites where readers can share and discover new web pages.
    • Digg
    • del.icio.us
    • Bloglines
    • Facebook
    • Google Bookmarks
    • LinkedIn
    • Technorati
    • TwitThis
    • Webnews

    Leave a Reply

     

     

     

    You can use these HTML tags

    <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <font color="" face="" size=""> <span style="">

    Spam Protection by WP-SpamFree Plugin