Rubrik: HTML/Internet/Netzwerk · Netzwerk | VB-Versionen: VB4, VB5, VB6 | 14.12.06 |
IP-Adresse ermitteln IP-Adresse ermitteln ohne viel Programmieraufwand | ||
Autor: Silvio Lichtenberg | Bewertung: | Views: 21.302 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Ich habe lange nach einer Möglichkeit gesucht die IP-Adresse auszulesen ohne dass ich etliche Zeilen Quelltext eingeben muss oder auf zusätzliche Steuerelemente angewiesen bin. Mit einem kleinen Umweg über die Kommandozeile ist das möglich.
Public Function GetIPAddress() As String Dim Datei As String Dim IP As String Dim iPos As Integer Dim F As Integer Dim sLine As String Dim nTime As Single ' Wichtig! ChDrive Left$(App.Path, 2) ChDir App.Path ' Erstellen einer BAT-Datei, die auf der Kommandozeile IPCONFIG aufruft F = FreeFile Open App.Path & "\IP-Adresse.bat" For Output As #F Print #F, "IPCONFIG > " & Chr$(34) & App.Path & "\IP-Adresse.txt" & Chr$(34) Print #F, "del ip-adresse.bat" Close #F ' Aufruf dieser BAT-Datei - Ergebnis wird in IP-Adresse.txt gespeichert Shell "ip-adresse.bat", vbMinimizedFocus DoEvents ' Warten bis IP-Adresse.txt erstellt wurde nTime = Timer Do Datei = Dir$(App.Path + "\IP-Adresse.txt") DoEvents Loop Until Datei <> "" Or Timer - nTime > 3 ' Auslesen von IP-Adresse.txt If Len(Datei) > 0 Then DoEvents F = FreeFile Open App.Path & "\" & Datei For Input As #F Do While Not EOF(F) Line Input #F, sLine If InStr(1, sLine, "IP-Adresse", vbTextCompare) > 0 Then ' Position des Doppelpunktes ermitteln iPos = InStr(1, sLine, ":") ' IP zuweisen IP = Trim$(Mid$(sLine, iPos + 1)) Exit Do End If Loop Close #F ' IP-Adresse.txt wieder löschen On Error Resume Next Kill App.Path & "\IP-Adresse.txt" On Error GoTo 0 End If GetIPAddress = IP End Function