Faire un ping sous dos avec vb

Soyez le premier à donner votre avis sur cette source.

Snippet vu 38 795 fois - Téléchargée 99 fois


Contenu du snippet

Comment puis-je éxecuter un ping sous MS-DOS

Mettez cette fonction dans un Module :

Source / Exemple :


Function PingDos(AdIP As String)
    Dim Commande As String
    Dim Resultat As Long
    Dim Ad_a_tester As String
    Dim Handle As Long
    Dim Fichier As String
    Dim Ligne As String
    Dim EstOK As Boolean
    Dim t As Long

    Fichier = App.Path & "resultat.txt"
    Ad_a_tester = AdIP
    Commande = "c:\command.com /cping " & Ad_a_tester & " >" & Fichier

    Resultat = Shell(doCmd, vbMinimizedNoFocus)

    t = Timer
    Do
        If Timer - t > 5 Then Exit Do
        DoEvents
    Loop
    Do
        DoEvents
        Err = 0
        On Error Resume Next
        If FileLen(Fichier) <> 0 And Err = 0 Then Exit Do
    Loop
    EstOK = True
    Handle = FreeFile
    Open Fichier For Input As #Handle
        While Not EOF(Handle)
            Input #Handle, Ligne
            If InStr(Ligne, "d'attente de la demande") <> 0 Then
                EstOK = False
            End If
        Wend
    Close #Handle
    Kill Fichier
    If EstOK = True Then
        MsgBox (Ad_a_tester & " Trouvé !")
    Else
        MsgBox (Ad_a_tester & "Non trouvé")
    End If
End Function

' Pour l'executer :
PingDos("127,0,0,1")

Conclusion :


.

A voir également

Ajouter un commentaire

Commentaires

Il semblerait que ce code ne fonctionne pas sur toutes les configurations.
plantage erreur53 soun win2k
j'avais un problem quand je faisais marcher cette fonctionne, qui me donne un error "Invalid procedure Call"
par la code "Resultat = Shell(doCmd, vbMinimizedNoFocus)
Voudriez m'aider de chercher la solution.

Merci Beaucoup.
J'ai trouvé la solution a vos probleme qui donnait "Invalid procedure Call"$
pour la resoudre remplacer la ligne :
Resultat = Shell(doCmd, vbMinimizedNoFocus)

par
Resultat = Shell(Commande, vbMinimizedNoFocus)

en plus si vous voulez ping une adresse IP il faut savoir la taper . une adresse IP est du type:
XXX.XXX.XXX.XXX (noté le point )
et non pas du type :
YYY,YYY,YYY,YYY (note la virgule )
Sinon c n bon code dans l'ensemble ;-)
il faut aussi remplacer la ligne :
Fichier = App.Path & "resultat.txt"
par
Fichier = App.Path & "
esultat.txt"
sinon ton fichier texte ce retrouvera a la racine de ton disque dur
@+ ( jusqu'au prochain bugging ) :-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.