2010-02-10 341 views

回答

27

使用我的班级:)

My.Computer.Name 

为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 
+0

如何使用我的班? – ahmed 2010-02-10 06:09:07

+0

如果您使用的是VB.Net 2.0或更高版本,您应该可以直接使用它:) – Shuwaiee 2010-02-10 06:13:03

+4

由于'GetHostByName()'已弃用,并且在vb.net中提供了警告,您可能只需简单地将其替换为'GetHostEntry()'做的是相同的,但是让编译器很开心。例如:'strIPAddress = System.Net.Dns.GetHostEntry(strHostName).AddressList(0).ToString()' – Levit 2014-05-23 08:13:43

-2
Public strHostName As String 
    Public strIPAddress As String 
    strHostName = System.Net.Dns.GetHostName() 
    strIPAddress = System.Net.Dns.GetHostEntry(strHostName).AddressList(0).ToString() 
    MessageBox.Show("Host Name: " & strHostName & "; IP Address: " & strIPAddress) 
14
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 
+0

这是获取IPv4地址的正确方法。在我的日志中,AddressList中有4个不同的字符串,其中3个是无用的。你必须循环和比较它们以找出哪一个是IPv4。 – Alexandre 2016-06-09 20:35:57

+0

如果有多个IPv4地址呢? – NorCalKnockOut 2017-05-08 22:44:47

3

以下是此例。 在这个例子中,我们可以得到我们给定主机名的IP地址。

Dim strHostName As String = "jayeshsorathia.blogspot.com" 
    'string strHostName = "www.microsoft.com"; 
    ' Get DNS entry of specified host name 
    Dim addresses As IPAddress() = Dns.GetHostEntry(strHostName).AddressList 

    ' The DNS entry may contains more than one IP addresses. 
    ' Iterate them and display each along with the type of address (AddressFamily). 
    For Each address As IPAddress In addresses 
     Response.Write(String.Format("{0} = {1} ({2})", strHostName, address, address.AddressFamily)) 
     Response.Write("<br/><br/>") 
    Next 
1

感谢Shuwaiee

我做了一个轻微的变化,虽然如在Private Sub已经在使用它。

Dim 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 & vbCrLf & "IP Address: " & strIPAddress) 

但也做了更改的细节显示,使他们能够使用& vbCrLf &

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

希望这有助于有人在单独行显示的方式。

0
Dim ipAddress As IPAddress 
Dim ipHostInfo As IPHostEntry = Dns.Resolve(Dns.GetHostName()) 
ipAddress = ipHostInfo.AddressList(0) 
0

每个单独连接到在线直播设备通常被指定一个专门的数字传奇曾是一个在线标准协议(IP)承担up.IP解释了可以由四个年内刚刚旧细节远通过多次(又称as'dotted-四“)和类似127.0.0.1.For更多信息查看我的朋友的网站http://www.ipaddresshub.com/

0

显示计算机名,使用按钮来调用它

暗淡strHostName As String

strHostName = System.Net.Dns.GetHostName(). 

    MsgBox(strHostName) 

显示用户名,使用按钮来调用它

如果TypeOf运算My.User.CurrentPrincipal是Security.Principal.WindowsPrincipal然后

 Dim parts() As String = Split(My.User.Name, "\") 

     Dim username As String = parts(1) 

     MsgBox(username) 

    End If 

对于IP地址有点复杂,但我尽可能地解释。 先写一个代码,Form1_Load的

公共类之前,但之后进口部分Form1中

Dim mem As String 

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() 

    mem = strIPAddress 
    MessageBox.Show("IP Address: " & strIPAddress) 

End Sub 

然后在Form1_Load的部分只是把它

GetIPAddress()

结果:开表单加载它会显示一个msgbox以及IP地址,以便放入Label1.text或其他地方使用代码。

0
Imports System.Net 

Module MainLine 
    Sub Main() 
     Dim hostName As String = Dns.GetHostName 
     Console.WriteLine("Host Name : " & hostName & vbNewLine) 
     For Each address In Dns.GetHostEntry(hostName).AddressList() 
      Select Case Convert.ToInt32(address.AddressFamily) 
       Case 2 
        Console.WriteLine("IP Version 4 Address: " & address.ToString) 
       Case 23 
        Console.WriteLine("IP Version 6 Address: " & address.ToString) 
      End Select 
     Next 
     Console.ReadKey() 
    End Sub 
End Module 
0

IP版本4只...

Imports System.Net 

Module MainLine 
    Sub Main() 
     Dim hostName As String = Dns.GetHostName 
     Console.WriteLine("Host Name: " & hostName & vbNewLine) 
     Console.WriteLine("IP Version 4 Address(es):") 
     For Each address In Dns.GetHostEntry(hostName).AddressList(). 
      Where(Function(p) p.AddressFamily = Sockets.AddressFamily.InterNetwork) 
      Console.WriteLine(vbTab & address.ToString) 
     Next 
     Console.ReadKey() 
    End Sub 
End Module 
相关问题