如何使用VB.NET获取计算机的名称和IP地址?

ahm*_*med 12 vb.net

如何通过使用vb.net编码发送mac ip地址作为输入来获取系统的IP地址?

小智 31

使用我的班级:)

My.Computer.Name
Run Code Online (Sandbox Code Playgroud)

至于IP地址快速谷歌搜索

Private Sub GetIPAddress()

Dim strHostName As String

Dim strIPAddress As String



strHostName = System.Net.Dns.GetHostName()

strIPAddress = System.Net.Dns.GetHostByName(strHostName).AddressList(0).ToString()


MessageBox.Show("Host Name: " & strHostName & "; IP Address: " & strIPAddress)

End Sub
Run Code Online (Sandbox Code Playgroud)

  • 由于不推荐使用`GetHostByName()`并在vb.net中给出警告,你可能只想用`GetHostEntry()`替换它,它会做同样的事情,但会使编译器满意.例如:`strIPAddress = System.Net.Dns.GetHostEntry(strHostName).AddressList(0).ToString()` (5认同)
  • 此 anwser 不适用于所有人,有时它会起作用,因为 AddressList 中只有 1 个项目。当有很多时,通常前几个不是 IPV4 地址。正确的方法是 EagleEye 的回答中的 GetIPv4Address() 。该循环将在列表中的任何位置找到 IPv4 地址。 (2认同)

小智 19

Private Function GetIPv4Address() As String
    GetIPv4Address = String.Empty
    Dim strHostName As String = System.Net.Dns.GetHostName()
    Dim iphe As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry(strHostName)

    For Each ipheal As System.Net.IPAddress In iphe.AddressList
        If ipheal.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork Then
            GetIPv4Address = ipheal.ToString()
        End If
    Next

End Function
Run Code Online (Sandbox Code Playgroud)

  • 这是获取 IPv4 地址的正确方法。在我的日志中,AddressList 中有 4 个不同的字符串,其中 3 个是无用的。您必须循环并比较它们以找出哪一个是 IPv4。 (3认同)