Access-Paradies im Internet

 

  

::: Funktionen

 


Die Top Seite für Excel-VBA-Makros uvm.
Anwenderforum für Microsoft Office, Windows, VB
FAQ, kostenlose Tipps und Downloads zu Microsoft Office
Das große Visual-Basic Archiv
Access-Garhammer
Rainer's Archiv

::: Newsletter

 

Unser Newsletter informiert Sie topaktuell rund um alle Themen zu Microsoft Access, VBA usw.

 
  




::: ebay

 
1.000 Tage eBay Partnerprogramm - Volume II
 

71

 
  Tipps & Tricks -> Netzwerk -> Lokalen Hostnamen ermitteln II   



Kostenlose Tools und aktuelle News mit unserem monatlichen Access-Newsletter.
Jetzt eintragen!




Das Access-VBA Codebook

Neue Ausgabe!




Die VBA-Codesammlung, die bei keinem Entwickler
fehlen darf!



von Günther Kramer

Mausrad im Formular abschalten

Der VBA-Code schaltet innerhalb eines Formulars das Mausrad ab



Professionelle Accesstools für Datenbank-Entwickler



Das komplette Entwickler-Know-How auf einer CD.

  • über 24 Entwicklertools
  • unzählige Codebeispiele
  • Freeware-Module u. Tools
  • Großer Datenpool


  •  
       
     
     
     
      Lokalen Hostnamen/Computernamen ermitteln II
    Kurzinfo: Diese Funktion ermittelt den lokalen Hostnamen per API über den wsock32
    Access-Version(en): Access 97, 2000 und XP
    Autor: Stefan Kulpa
    Homepage: http://www.kulpa-online.de

     
     

     

    Auf der AP-Access-Tools Vol.1 finden Sie weitere 320 Tipps & Tricks sowie 250 Access-Beispiel/Anwendungen mit offenen Quellcode!

    Die Access-Tools-CD mit über 400 MByte Inhalt - für Access- und VB-Entwickler

  • 256 Access-Beispiele mit offenem Code
  • 45 Add-Ins und ActiveX-Komponenten (Freeware)
  • 16 VB-Projekt inkl. Source
  • 321 Tipps & Tricks für Access und VB
  • Plus 11 Entwicklerversionen (9 davon mit Source!)
  • Plus 3 Vollversionen und
  • Plus riesiger Datenpool

    Holen Sie sich jetzt Ihre AP-Access-Tools-CD zum Superpreis von nur EUR 24,95!

  •  
     

    Um den lokalen Hostnamen einer lokalen IP-Adresse ermitteln zu können, muss man auf das Win32-API zurückgreifen.
    Hinweis: diese Funktion ist nicht dafür geeignet, IP-Adressen im Internet zu benutzen, um deren Hostnamen zu ermitteln!

    Code:
    Const WSADESCRIPTION_LEN                    As Long = 256
    Const WSASYS_STATUS_LEN                     As Long = 128
    Const WS_VERSION_REQD                       As Long = &H101
    Const IP_SUCCESS                            As Long = 0
    Const SOCKET_ERROR                          As Long = -1
    Const AF_INET                               As Long = 2
     
    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
         imaxudp                                As Integer
         lpszvenderinfo                         As Long
    End Type
     
    Declare Function WSAStartup Lib "wsock32.dll" _
                    (ByVal VersionReq As Long, _
                     WSADataReturn As WSADATA) As Long
    Declare Function WSACleanup Lib "wsock32.dll" () As Long
    Declare Function inet_addr Lib "wsock32.dll" _
                    (ByVal s As String) As Long
    Declare Function gethostbyaddr Lib "wsock32.dll" _
                    (haddr As Long, _
                     ByVal hnlen As Long, _
                     ByVal addrtype As Long) As Long
    Declare Sub CopyMemory Lib "kernel32" Alias _
                    "RtlMoveMemory" _
                    (xDest As Any, _
                     xSource As Any, _
                     ByVal nbytes As Long)
    Declare Function lstrlen Lib "kernel32" Alias _
                    "lstrlenA" _
                    (lpString As Any) As Long
     
    Function SocketsInitialize() As Boolean
     
       Dim WSAD As WSADATA
       SocketsInitialize = WSAStartup(WS_VERSION_REQD, WSAD) = IP_SUCCESS
     
    End Function
     
    Function GetHostNameFromIP(ByVal sAddress As String) As String
     
        Dim lPtrHostent As Long
        Dim lAddress    As Long
        Dim lBytes      As Long
     
        If SocketsInitialize() Then
        '// String-Adresse in Long konvertieren
            lAddress = inet_addr(sAddress)
            If lAddress <> SOCKET_ERROR Then
            '// Den Pointer zur HOSTENT-Struktur ermitteln,
            '// die den Namen und die Adresse enthält.
                lPtrHostent = gethostbyaddr(lAddress, 4, AF_INET)
                If lPtrHostent <> 0 Then
                '// Adresse konvertieren und Hostnamen auflösen
                    CopyMemory lPtrHostent, ByVal lPtrHostent, 4
                    lBytes = lstrlen(ByVal lPtrHostent)
                    If lBytes > 0 Then
                        sAddress = Space$(lBytes)
                        CopyMemory ByVal sAddress, ByVal lPtrHostent, lBytes
                        GetHostNameFromIP = sAddress
                    End If 'lBytes > 0
                Else
                    MsgBox "Aufruf ist fehlgeschlagen!", vbExclamation
                End If 'lPtrHostent <> 0
                Call WSACleanup
            Else
                MsgBox "Ungültige IP-Adresse!", vbExclamation
            End If 'lAddress <> SOCKET_ERROR
        Else
            MsgBox "Sockets konnte nicht initialisiert werden!", vbExclamation
        End If 'SocketsInitialize()
     
    End Function


    Wird nun die Funktion GetHostNameFromIP mit Übergabe einer lokalen IP-Adresse übergeben, erhält man den entsprechenden Hostnamen.



    Neuen Tipp melden Neuen Download melden

    Copyright 2000-2003 Microsys Kramer– Alle Rechte vorbehalten - Der Download von Tipps und Programmen von den Seiten www.access-paradies.de erfolgt auf eigene Gefahr. Microsys Kramer haftet nicht für Schäden, die aus der Installation oder der Nutzung von Tipps oder Software aus dem Download-Bereich erfolgen. Trotz aktueller Virenprüfung ist eine Haftung für Schäden und Beeinträchtigungen durch Computerviren ausgeschlossen. Schadenersatzansprüche, aus welchem Rechtsgrund auch immer, sind ausgeschlossen, wenn Microsys Kramer nicht Vorsatz oder grobe Fahrlässigkeit zu vertreten hat. Dies gilt auch für Ansprüche auf Ersatz von Folgeschäden wie Datenverlust.

     
     
     
     

    Access-Paradies © 1996-2011 Microsys Kramer


    Microsoft, Access, Word, Excel, Outlook, Outlook Express, Visual Basic und Windows sind eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

    Weiterempfehlung  |   Linken Sie uns  |   Impressum  |   Newsletter  |   Onlineshop