![]() |
![]() |
|
![]() |
![]() |
|
Registrieren | Hilfe/Forumregeln | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() |
![]() hi leute
ich will ein programm schreiben das ca 15 vorgegebene IP-Adressen pingt und dann zb in ein label (aber das is egal) ausgibt welche schon vergeben ist und welche nicht. mit dem shell("ping.exe blabaleb) bin ich ned weitergekommen. habt ihr ideen? gibt es da einen API-Aufruf? wie ist das am besten/einfachsten zu lösen? PS: wie im Titel steht, das ganze plz für vb 6.0. mfg Potassium |
![]() |
![]() |
![]() |
#3 |
Jr. Member
![]() |
![]() |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() |
![]() thx @beide
@daytrader: leider funzt "dein" quellcode ned. er zeigt das alle adressen erreicbar sind auch die die es gar ned gibt. und hostnamen funzen gar ned. |
![]() |
![]() |
![]() |
#5 |
Inventar
![]() Registriert seit: 30.01.2001
Alter: 52
Beiträge: 1.726
|
![]() habs nun mit VB5 ausprobiert und funkt. tadellos
Code:
Option Explicit ' 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 ' Server anpingen und Reaktionszeit zurückgeben Public Function Ping(ByVal sHost As String) As Single Dim QI As QOCINFO Dim vTime As Single QI.dwSize = Len(QI) vTime = Timer If IsDestinationReachable(sHost, QI) = 1 Then Ping = Timer - vTime Else Ping = -1 End If End Function Private Sub Form_Load() Dim nTime As Single nTime = Ping("217.160.105.222") If nTime <> -1 Then MsgBox "Server erreichbar: Pingzeit: " & CStr(nTime) & " Sekunden" Else MsgBox "Server nicht erreichbar!" End If End Sub |
![]() |
![]() |
![]() |
#6 |
Inventar
![]() |
![]() servus an alle
also potassium schreibt das tool eigentlich für mich er hatte es schon funktionierend auf seinem pc(winxp) dann hatt er es mir geschickt schau da ist es ein automatisierungs fehler kann uns wer helfen bitte ------------------------ sorce Private Sub cmdPrüfen_click() lbl.Caption = "Untersuche Netzwerk..." For i = 1 To 15 strMachines = "192.168.0." & i aMachines = Split(strMachines, ";") For Each machine In aMachines Set objPing = GetObject("winmgmts:{impersonationLevel=impersonat e}").ExecQuery("select * from Win32_PingStatus where address = '" & machine & "'") For Each objStatus In objPing If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then temp = temp & vbCrLf & ("IP-Adresse " & machine & " ist in diesem Netzwerk nicht vergeben") Else temp = temp & vbCrLf & ("IP-Adresse " & machine & " ist in diesem Netzwerk bereits vergeben") End If Next Next Next i lbl.Caption = temp End Sub ------------- Fehler hier
____________________________________
MfG Nightman |
![]() |
![]() |
![]() |
#7 |
Inventar
![]() Registriert seit: 30.01.2001
Alter: 52
Beiträge: 1.726
|
![]() vielleicht andere sensapi.dll version auf deinem rechner?
meine ist 5.0.2195.6627 |
![]() |
![]() |
![]() |
#8 |
Inventar
![]() |
![]() deleted
|
![]() |
![]() |
![]() |
#9 |
Inventar
![]() |
![]() habs auch nochmal bei meinem 2en pc auf win2k ausprobiert... und es funzt ned......folgenden fehlermeldung:
edit: siehe unten @ daytrader: ich hab es mit vb6.0 probiert da funzt es ned.zumindest zeigt er keine richtigen ergebnisse....... ![]() |
![]() |
![]() |
![]() |
#10 | |
Inventar
![]() |
![]() Zitat:
|
|
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|