2010-02-10 14 views

Odpowiedz

27

Użyj mojej klasy :)

My.Computer.Name 

jak dla adresów IP szybkie wyszukiwanie 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

jak korzystać z mojej klasy? – ahmed

+0

Jeśli korzystasz z VB.Net 2.0 lub nowszego, powinieneś móc go używać po wyjęciu z pudełka :) – Shuwaiee

+4

Ponieważ 'GetHostByName()' jest przestarzałe i daje ostrzeżenie w vb.net, możesz po prostu zamienić go na 'GetHostEntry()', który robi to samo, ale sprawia, że ​​kompilator jest szczęśliwy. Np .: '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

To jest właściwy sposób na uzyskanie adresu IPv4. W moim logu znajdują się 4 różne ciągi w AddressList i 3 z nich są bezużyteczne. Musisz pętli i porównać je wszystkie, aby znaleźć, który z nich jest IPv4. – Alexandre

+0

Co się stanie, jeśli istnieje wiele adresów IPv4? – NorCalKnockOut

3

Oto przykład na to. W tym przykładzie możemy uzyskać adres IP naszej podanej nazwy hosta.

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

Dzięki Shuwaiee

Zrobiłem małą zmianę chociaż, jak go używać w progach 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) 

Ale także zmianę sposobu, w jaki dane są wyświetlane tak, że mogą pokazać na oddzielnych liniach stosując & vbCrLf &

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

Hope this helps kogoś.

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

Każdy element wyposażenia załączonego do live online jest zwykle wyznaczony wyspecjalizowany cyfrę legendarny za bycie Standardowy protokół Online (IP) podejmuje na up.IP wyjaśnia się składać z czterech lat stare dane zabrane tylko przez okazjach (znany również as'dotted-quad ") i podobne do 127.0.0.1.For bardziej informacja ta zobaczyć moją stronę przyjaciela http://www.ipaddresshub.com/

0

pokazuje nazwę komputera, użyj przycisku, aby nazwać

Dim strHostName As String

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

    MsgBox(strHostName) 

Pokazuje nazwę użytkownika, należy użyć przycisku, aby nazwać

Jeśli typeof My.User.CurrentPrincipal Czy Security.Principal.WindowsPrincipal Następnie

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

     Dim username As String = parts(1) 

     MsgBox(username) 

    End If 

Dla Adres IP jest trochę skomplikowany, ale staram się wyjaśnić jak najwięcej. Pisać następny kod, zanim Form1_Load ale po części importu

Public Class 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 

Następnie w Form1_Load sekcji prostu nazwać

GetIPAddress()

Wynik: włączony załaduj formularz pokaże msgbox wraz z adresem IP, do umieszczenia w Label1.text lub w innym miejscu, gdzie grasz z kodem.

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 w wersji 4 Tylko ...

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 
Powiązane problemy