FAIRE UN PING SOUS DOS AVEC VB

Pir@tor2000 - 9 janv. 2001 à 14:56
Evignon Messages postés 1 Date d'inscription lundi 11 décembre 2006 Statut Membre Dernière intervention 6 juin 2008 - 6 juin 2008 à 14:47
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/57-faire-un-ping-sous-dos-avec-vb

Evignon Messages postés 1 Date d'inscription lundi 11 décembre 2006 Statut Membre Dernière intervention 6 juin 2008
6 juin 2008 à 14:47
sur il suffit de rechercher le fichier Ping.exe et de le copier dans votre répertoire d'applicatif et de lancer la commande du type

commande=app.path & "\ping.exe .....
naoualbtsmair2006 Messages postés 1 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 5 juin 2006
5 juin 2006 à 15:32
j'est tous fais pour se programme mais l'execution me donne "erreur d'execution '53'fichier introuvable " le débogage sélectionne la ligne:
Resultat = Shell(docmd, vbMinimizedNoFocus)
povez vous m'aider?
deubet Messages postés 2 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 22 juillet 2005
29 sept. 2003 à 15:23
euh, un truc à la con : et si je veux mettre ce code sur pleins de windows qui parlent pas tous francais, je dois à chaque fois remodifier le source avec la langue locale ?
cs_Kernox Messages postés 34 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 10 juillet 2005
10 août 2003 à 22:42
Snif ! y me faut la meme chose mais pour 98 se !

Win98 n'est pas mort !
Taramino Messages postés 18 Date d'inscription dimanche 12 janvier 2003 Statut Membre Dernière intervention 30 mars 2003
11 févr. 2003 à 11:31
très jolis source
cs_EiNSTeiN Messages postés 5 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 8 février 2003
28 déc. 2002 à 22:08
ya un command.com sous XP...
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
30 août 2002 à 21:29
ouais dans shell("ping ... > resultat.txt") ça marche pa :(
et pour command.com, sous nt, 2k & je suppose xp, ça s'appelle cmd.exe !!
pokbizou Messages postés 13 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 13 novembre 2003
15 mai 2002 à 11:16
à acidtoxik:
la redirection de fichier ne fonctionne pas en utilisant shell sous win2k, c'est pour cela que j'ai mis la commande dans un fichier .bat
pokbizou
acidtoxik Messages postés 28 Date d'inscription dimanche 12 mai 2002 Statut Membre Dernière intervention 2 janvier 2008
12 mai 2002 à 18:47
genre :
ip=inputbox("adresse ip?")
shell "ping " & ip & " > fichier.txt" et là tu va relire le fichier pour le réafficher après à l'ecran ! comme ça tu as bcp plus d'info sur le ping ! nan ???
acidtoxik Messages postés 28 Date d'inscription dimanche 12 mai 2002 Statut Membre Dernière intervention 2 janvier 2008
12 mai 2002 à 18:45
en fait g peut-etre une amélioration à faire :
tu fais un ping 'adress_ip' > fichier.txt à l'aide de la commande SHELL !
qu'en penses-tu ?
pokbizou Messages postés 13 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 13 novembre 2003
7 mai 2002 à 10:00
pour attendre l'execution du ping sous dos avant de continuer le prog vb, aller voir:
http://www.vbfrance.com/article.asp?Val=372
pokbizou
pokbizou Messages postés 13 Date d'inscription lundi 6 mai 2002 Statut Membre Dernière intervention 13 novembre 2003
6 mai 2002 à 17:02
pour l'erreur 53 sous win2k, j'ai mis la ligne de commande dans un fichier ".bat" et j'execute le fichier ".bat":
shell ("mon_fichier.bat",vbMinimizedNoFocus)
seul problème, il faut maintenant attendre que la commande s'execute et faire attendre le prog vb qui lui n'attends pas(ce qui est génant lorsqu'on fait un ping de 1500 octets)
Pokbizou
j'ai modifié le code de Nix au niveau du test d'existance d'un pc. en effet la fonction qu'il a creer peut retourner la valeur "trouver" alors que l'adresse IP n'est pas valide ( pas top non ? ). J'ai adopter une reflexion inverse a la sienne ( il considérais que du moment on ne trouvais pas la chaine " temps d'attente " alors s'étais bon alors qu'il existe d'autres message d'erreur lors d'un ping ( ex: "la destination spécifié n'est pas valide " (ip 245.2.2.0)) alors voila le code modifié.:
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 & "
esultat.txt"
Ad_a_tester = AdIP
Commande = "c:command.com /cping " & Ad_a_tester & " >" & Fichier

Resultat = Shell(Commande, 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 = False
Handle = FreeFile
Open Fichier For Input As #Handle
While Not EOF(Handle)
Input #Handle, Ligne
If InStr(Ligne, "R" & Chr(130) & "ponse de " & Ad_a_tester & " : octets=") <> 0 Then
EstOK = True
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

-==Crazy/Man==-
PS: noté que le back-slash ne fonctionne pas sur le systeme de post ( du moins chez moi sa m'apparait pas ))
bon je viens de m'appercevoir que le post de message étais bugge ( lui aussi ;-) ). Mes précédant post ne comportais pas de bug de ma part mais un bug du systeme de post . ( il n'accepte pâs le "back-slash " )
il faut lire
Fichier = App.Path & ""back-slash"resultat.txt"

-==Crazy/Man==-
PS: désole por les précedant post
desoelr pour la faute de frappe il fallait lire
Fichier = App.Path & "
esultat.txt"
et non
Fichier = App.Path & "esultat.txt"

(voila que je cree des bug moi meme
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 ) :-)
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 ;-)
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.
plantage erreur53 soun win2k
Il semblerait que ce code ne fonctionne pas sur toutes les configurations.
Rejoignez-nous