2010-02-10 4 views

ответ

27

Используйте Мой класс :)

My.Computer.Name 

, как и для IP-адрес поиска быстрого Google

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

+0

Если вы используете VB.Net 2.0 или лучше, вы должны использовать его из коробки :) – Shuwaiee

+4

Поскольку 'GetHostByName()' устарел и дает предупреждение в vb.net, вы можете просто заменить его на 'GetHostEntry()', который делает то же самое, но делает компилятор счастливым. Например: 'strIPAddress = System.Net.Dns.GetHostEntry (strHostName) .AddressList (0) .ToString()' – Levit

-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-адрес. В моем журнале здесь есть 4 разных строки в AddressList, и 3 из них бесполезны. Вы должны зациклиться и сравнить их все, чтобы найти, какой из них является IPv4. – Alexandre

+0

Как насчет нескольких адресов IPv4? – NorCalKnockOut

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

Показывает имя компьютера, используйте кнопку для вызова его

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

Результат: Вкл. form load, он покажет 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 
Смежные вопросы