2010-02-10 12 views

risposta

27

Utilizzare la mia classe :)

My.Computer.Name 

come per l'indirizzo IP breve ricerca su 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

come utilizzare la mia classe? – ahmed

+0

Se stai usando VB.Net 2.0 o meglio dovresti essere in grado di usarlo fuori dalla scatola :) – Shuwaiee

+4

Poiché 'GetHostByName()' è deprecato e ti dà un avviso in vb.net, potresti semplicemente sostituirlo con 'GetHostEntry()' che fa lo stesso, ma rende il compilatore felice. Ad esempio: '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

Questo è il modo giusto per ottenere l'indirizzo IPv4. Nel mio registro qui ci sono 4 stringhe diverse in AddressList e 3 di esse sono inutili. Devi fare un ciclo e confrontarli tutti per trovare qual è l'IPv4. – Alexandre

+0

Che dire se ci sono più indirizzi IPv4? – NorCalKnockOut

3

Ecco esempio di questo. In questo esempio possiamo ottenere l'indirizzo IP del nostro nome host dato.

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

Grazie Shuwaiee

ho fatto un leggero cambiamento anche se, come già usando in un 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) 

ma anche fatto una modifica al modo in cui i dettagli vengono visualizzati in modo che possano mostrare su linee separate utilizzando & vbCrLf &

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

Spero che questo aiuti qualcuno.

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

Ogni singolo pezzo di apparecchiature collegate al Live Online è generalmente contrassegnata una cifra specializzata leggendario per essere un protocollo standard in linea (IP) assumono up.IP spiega essere composto da quattro anni particolari portati via da solo da occasioni (noto anche as'dotted-quad ') e simile a 127.0.0.1.For maggiori informazioni vedere il mio amico sito http://www.ipaddresshub.com/

0

mostra il nome del computer, utilizzare un pulsante per chiamare

Dim strHostName As String

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

    MsgBox(strHostName) 

mostra il nome utente, utilizzare un pulsante per chiamare

Se TypeOf My.User.CurrentPrincipal è Security.Principal.WindowsPrincipal Poi

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

     Dim username As String = parts(1) 

     MsgBox(username) 

    End If 

Per L'indirizzo IP è un po 'complicato, ma cerco di spiegare il più possibile. In primo luogo scrivere il codice successivo, prima di Form1_Load ma dopo la sezione di importazione

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 

Poi nel Form1_Load sezione appena lo chiamano

GetIPAddress()

Risultato: attivo caricamento del modulo mostrerà un msgbox insieme all'indirizzo IP, per inserirli in Label1.text o altri in cui giocare con il codice.

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 versione 4 Solo ...

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 
Problemi correlati