Die Community zu .NET und Classic VB.
Menü

VB.NET-Tipp 0016: Die IP-Adresse des eigenen Rechners ermitteln

 von 

Beschreibung

Das Beispiel zeigt, wie sich die IP-Addresse des eigenen Rechners ermitteln lässt.

Für neuere Framework-Versionen empfehlen wir die Verwendung von IP-Addressen ermitteln (auch die eigene) [Tipp 0078].

Schwierigkeitsgrad:

Schwierigkeitsgrad 1

Framework-Version(en):

.NET Framework 1.0, .NET Framework 1.1

.NET-Version(en):

Visual Basic 2002, Visual Basic 2003

Download:

Download des Beispielprojektes [3,97 KB]

' Dieser Quellcode stammt von http://www.activevb.de
' und kann frei verwendet werden. Für eventuelle Schäden
' wird nicht gehaftet.

' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
' Ansonsten viel Spaß und Erfolg mit diesem Source!

' Projektversion:   Visual Studio 2002/2003
' Option Strict:    Aus
' Option Explicit:  An
'
' Referenzen: 
'  - System
'  - System.Data
'  - System.Drawing
'  - System.Windows.Forms
'  - System.XML
'
' Imports: 
'  - Microsoft.VisualBasic
'  - System
'  - System.Collections
'  - System.Data
'  - System.Drawing
'  - System.Diagnostics
'  - System.Windows.Forms
'

' ##############################################################################
' ################################ frmMain.vb ##################################
' ##############################################################################
Public Class frmMain
    Inherits System.Windows.Forms.Form


    Private Sub bttnRefresh_Click( _
      ByVal sender As System.Object, _
      ByVal e As System.EventArgs) _
      Handles bttnRefresh.Click
        Aktualisieren()
    End Sub

    Private Sub Aktualisieren()
        lst.Items.Clear()
        Dim IP As Net.IPAddress, _
          IPList As Array = _
          Net.Dns.Resolve( _
            SystemInformation.ComputerName.ToString).AddressList
        For Each IP In IPList
            lst.Items.Add(IP.ToString)
        Next
        bttnCopy.Enabled = False
    End Sub

    Private Sub bttnCopy_Click( _
      ByVal sender As System.Object, _
      ByVal e As System.EventArgs) _
      Handles bttnCopy.Click
        If lst.SelectedItems.Count = 0 Then Exit Sub
        Dim item As String, Text As String
        For Each item In lst.SelectedItems
            If Text <> "" Then Text &= vbNewLine
            Text &= item
        Next
        Clipboard.SetDataObject(Text)
    End Sub

    Private Sub lst_SelectedIndexChanged( _
      ByVal sender As System.Object, _
      ByVal e As System.EventArgs) _
      Handles lst.SelectedIndexChanged
        If Me.lst.SelectedItems.Count = 0 Then
            Me.bttnCopy.Enabled = False
        Else
            Me.bttnCopy.Enabled = True
        End If
    End Sub
End Class

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 2 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von Ontario am 04.07.2007 um 11:35

Die .Resolve-Methode scheint in VB.NET 2005 veraltet zu sein.

Aber die neue Systnax

Dns.GetHostEntry(SystemInformation.ComputerName.ToString).AddressList

geht ja auch. ;-)

Kommentar von Timo am 11.06.2007 um 11:08

Bei mir wird folgende Melung gezeigt:

'Public Shared Function Resolve(hostName As String) As System.Net.IPHostEntry' is obsolete: 'Resolve is obsoleted for this type, please use GetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202'
.