Hej, Jeg tror du kan pinge computeren. Jeg har ændret lidt på en stump kode fra MSDN (og oversat fra C#):
Public Function PingComputer(ByVal computer As String) As Boolean
Dim pingSender As New System.Net.NetworkInformation.Ping() Dim options As New System.Net.NetworkInformation.PingOptions()
options.DontFragment = True
' Create a buffer of 32 bytes of data to be transmitted. Dim data As String = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" Dim buffer() As Byte = System.Text.Encoding.ASCII.GetBytes(data) Dim timeout As Integer = 120
Dim reply As System.Net.NetworkInformation.PingReply = pingSender.Send(computer, timeout, buffer, options)
If (reply.Status = System.Net.NetworkInformation.IPStatus.Success) Then Return True Else Return False End If
Det virker fint hvis en computer ikke er online, men hvis man pinger en computer der ikke har været online længe eller ikke er med i domænet, kommer der en "Ping exception"...
Skal man bare lave en try catch eller er der en pænere måde at gøre det på ?
Jeg har ikke kigget så meget på de forskellige options man kan sætte op. Måske er der mulighed for at specificere i PingOptions, hvad der skal ske ved det scenarie du beskriver.
Ellers er det da en mulighed at fange den exception, der kommer.
Jeg fik kigget på dokumentationen til funktionen, men kunne ikke bliver klogere. Der kommer en exception med en inner exception, hvor fejlen er noget med "Not known host" eller noget i den retning.
Har lavet en try catch og så virker det efter hensigten. Ikke den pæneste løsning, men som sagt virker det godt nok.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.