Überprüfung ob Rechner erreichbar ist oder nicht

Hallo zusammen,

ich möchte per VB6.0 überprüfen ob ein Rechner im Netzwerk erreichbar ist oder nicht. Über MS-DOS gibt es ja die Möglichkeit den Befehl ping abzusetzen. Kann man diese Rückmeldung abfragen oder gibt es unter VB6.0 eine andere Möglichkeit dies zu lösen?

Vielen Dank für die Mühe im voraus.

Gruß
André

Überprüfung ob Rechner erreichbar ist oder nicht
Hallo André!

' Benötigte API-Deklaration
Private Declare Function IsDestinationReachable Lib \_
 "Sensapi.dll" Alias "IsDestinationReachableA" \_
 (ByVal lpszDestination As String, \_
 lpQOCInfo As QOCINFO) As Long

Private Type QOCINFO
 dwSize As Long
 dwFlags As Long
 dwInSpeed As Long
 dwOutSpeed As Long
End Type
Die Funktion Ping gibt im Erfolgsfall den Wert True, andernfalls False zurück.

Public Function Ping(ByVal IP As String) As Boolean
 Dim QuestStruct As QOCINFO
 Dim lReturn As Long

 ' Größe der Struktur
 QuestStruct.dwSize = Len(QuestStruct)

 ' Prüfen, ob Ziel erreichbar
 lReturn = IsDestinationReachable(IP, QuestStruct)

 ' Antwort auswerten
 If lReturn = 1 Then
 ' Antwort bekommen
 Ping = True
 Else
 ' keine Antwort
 Ping = False
 End If
End Function

„Gestohlen“ von http://www.vbarchiv.net/archiv/tipp_458.html

Gruß

Gollum

Hallo Gollum,

danke für die schnelle Antwort. Leider funktioniert das bei mir (Windows NT) nicht.

Gruß
André

„Gestohlen“ von http://www.vbarchiv.net/archiv/tipp_458.html

Gruß

Gollum

komisch
Hallo André!

Ich habe es soeben ausprobiert, unter Win2k funkt es problemlos. Laut Artikel müßte es unter NT auch funktionieren. Wenn Du eine präzisere Beschreibung des Fehlers lieferst, kann ich Dir wahrscheinlich helfen.

Gollum

Hallo Gollum,

bei mir ist das Problem das die Function Ping immer true zurückgibt auch wenn der Rechner im MS-DOS-Fenster mit Ping nicht erreichbar ist.

Gruß
André

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]