Page 1 sur 2
[..] Simple ping
Posté : jeu. 22 sept. 2011 11:14
par Pwet
Bonjour,
Je viens vous demander un exemple de script auto-it.
Un script avec un champ où l'on peu mettre un nom d'ordinateur + un bouton qui permet de le pinguer.
Cela vous parait peut être trop simple mais pour un non-initié, cela est déja beaucoup...
Si possible que se soit une fenêtre de commande qui apparaisse et non une fenêtre windows...
Merci d'avance.
Oups dsl pour les règles
Re: Simple ping
Posté : jeu. 22 sept. 2011 11:27
par ZDS
[..] Simple ping
Posté : jeu. 22 sept. 2011 12:34
par Pwet
Dsl je le refait avec la balise [..] pour le sujet (j'espère qu'il ne va pas falloir écrire une fonction pour pouvoir poster sur le ce forum sinon ce n'est pas gagné...)
Bonjour,
Je viens vous demander un exemple de script auto-it.
Un script avec un champ où l'on peu mettre un nom d'ordinateur + un bouton qui permet de le pinguer.
Cela vous parait peut être trop simple mais pour un non-initié, cela est déja beaucoup...
Si possible que se soit une fenêtre de commande qui apparaisse et non une fenêtre windows...
Merci d'avance.
Re: Simple ping
Posté : jeu. 22 sept. 2011 12:41
par ZDS
Edite le premier message pour mettre [..]. Ca ne sert à rien de le faire sur une réponse.
Re: [..] Simple ping
Posté : jeu. 22 sept. 2011 15:05
par vincentr
Voici un script
► Afficher le texte
$Adress = InputBox("PING Adresse IP", "Saisissez l'@ IP")
if $Adress <> "" Then ShellExecute("ping","-t " & $Adress, @WindowsDir)
Re: [..] Simple ping
Posté : jeu. 22 sept. 2011 15:48
par mikell
Gérer une fenêtre cmd avec autoit c'est pas génial (d'ailleurs les fenêtres cmd c'est pas génial tout court)
Si tu y tiens à cette fenêtre alors vaut mieux te faire un batch
Sinon
► Afficher le texte
Code : Tout sélectionner
GuiCreate("Ping", 300, 50)
$input = GuiCtrlCreateInput("www.google.fr", 10, 10, 100, 20)
$btn = GuiCtrlCreateButton("Ping", 120, 10, 50, 20)
GuiSetState()
While 1
$msg = GuiGetMsg()
If $msg = -3 Then Exit
If $msg = $btn Then
Do
$ping = Ping(GuiCtrlRead($input), 500)
Until $ping<>0
GuiCtrlCreateLabel($ping, 180, 10, 50, 20, 1)
GUICtrlSetBkColor(-1, 0xffffff)
EndIf
Wend
Re: [..] Simple ping
Posté : ven. 23 sept. 2011 23:30
par Eldes
Je propose ceci qui peut paraitre simpliste:
Code : Tout sélectionner
&add=("ip","Entrez l adresse ip:")
send("{#r}")
send("cmd")
send($add)
Personnellement je ne suis pas fan des solutions d emuler un clavier puisque le résultat va dépendre des ressources de votre système.
Je m explique ma solution fonctionnera correctement si il n y as pas de processus encoure, si vous arriver dans ce cas la il faudra rajouter sleep afin de temporiser le programmme et qu il soit exécuter correctement.
A mon avis la commande Ping d autoit est bien plus pratique.
En espérant avoir pu vous etre utile
Re: [..] Simple ping
Posté : lun. 26 sept. 2011 15:57
par Pwet
RE - dsl je dois être blond... Voici mon code qui ne fonctionne pas ... Merci d'avance
Code : Tout sélectionner
[code=text]#[/Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Ping", 363, 125, 192, 124)
Global $Input1 = GUICtrlCreateInput("Input1", 40, 32, 177, 25)
Global $Button1 = GUICtrlCreateButton("Button1", 232, 32, 57, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
;
; Action
;
While 1
$ip = $Input1
if $Ip <> "" Then ShellExecute("ping","-t " & $Ip, @WindowsDir)]
WEnd
Re: [..] Simple ping
Posté : lun. 26 sept. 2011 16:14
par Jerome
Coucou,
Normal qu'il ne fonctionne pas, vous mettez une boucle infinie (donc il n'en sortira jamais) et après cette boucle infinie, vous en remettez une avec votre code => IMPOSSIBLE.
Jérôme
Re: [..] Simple ping
Posté : lun. 26 sept. 2011 16:26
par zeshrek
les uns et les autres, vous etes au courrant qu'autoit a une fonction ping ?
Code : Tout sélectionner
$Adress = InputBox("PING Adresse IP", "Saisissez l'@ IP")
if $Adress <> "" Then
$ping=ping($Adress)
msgbox(0,"Resultat du ping",$ping)
endif
Re: [..] Simple ping
Posté : mar. 27 sept. 2011 08:09
par XeniOne
Bonjour zeshrek,
merci mais ton code ne correspond pas avec la demande, il veut pinguer une machine par son nom, pas par son adresse (le ping permettrait justement d'obtenir son IP).
Il a déjà une GUI, un champs pour écrire le nom de la machine et juste à coté un bouton "ping" ("bouton1" il me semble)
Ciao !
Re: [..] Simple ping
Posté : mar. 27 sept. 2011 09:23
par Pwet
XeniOne a écrit :Bonjour zeshrek,
merci mais ton code ne correspond pas avec la demande, il veut pinguer une machine par son nom, pas par son adresse (le ping permettrait justement d'obtenir son IP).
Il a déjà une GUI, un champs pour écrire le nom de la machine et juste à coté un bouton "ping" ("bouton1" il me semble)
Ciao !
Yesss c'est exactement ce que je demande - Merci quand même des réponses mais je cherche encore...
Re: [..] Simple ping
Posté : mar. 27 sept. 2011 09:51
par Jerome
Coucou,
Premier code pour résoudre le nom de post avec l'ip
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiIPAddress.au3>
#include <WindowsConstants.au3>
#include <iNet.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("IP", 317, 83, 192, 124)
$Button1 = GUICtrlCreateButton("GO", 216, 32, 75, 25)
$IPAddress1 = _GUICtrlIpAddress_Create($Form1, 56, 32, 130, 21)
_GUICtrlIpAddress_Set($IPAddress1, "0.0.0.0")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_LetsGo()
EndSwitch
WEnd
Func _LetsGo()
$IP = _GUICtrlIpAddress_Get($IPAddress1)
TCPStartup()
If Ping($IP, 50) > 0 Then ; il y a une reponse de l'host
$sResult = _TCPIpToName($IP, 0)
MsgBox("","Nom", $sResult)
EndIf
EndFunc
Second code pour résoudre l'ip avec le nom de poste
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <iNet.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("IP", 317, 83, 192, 124)
$Button1 = GUICtrlCreateButton("GO", 216, 32, 75, 25)
$Label1 = GUICtrlCreateInput("Nom de post", 56, 32, 130, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_LetsGo()
EndSwitch
WEnd
Func _LetsGo()
$name = GUICtrlRead($Label1)
TCPStartup()
If Ping($name, 50) > 0 Then ; il y a une reponse de l'host
$sResult = TCPNameToIP($name)
MsgBox("","Nom", $sResult)
EndIf
EndFunc
Cordialement,
Jérôme
Re: [..] Simple ping
Posté : mar. 27 sept. 2011 09:58
par Tlem
Si le but est d'avoir l'IP de la machine à partir du nom, il y a tout simplement TCPNameToIP() !!!
Re: [..] Simple ping
Posté : mar. 27 sept. 2011 09:59
par Jerome
Tlem a écrit :Si le but est d'avoir l'IP de la machine à partir du nom, il y a tout simplement TCPNameToIP() !!!
Cf mon code

Re: [..] Simple ping
Posté : mar. 27 sept. 2011 11:00
par Tlem
Heuu voui, j'ai pas cliqué assez vite pour envoyer (j'étais au téléphone) et après, j'ai pas contrôlé que quelqu'un avait poster entre temps.

Re: [..] Simple ping
Posté : mar. 27 sept. 2011 11:12
par Pwet
Je suis tjs là --- en fait le ping ou la résolution de nom sont des exemples.
C'est juste que je n'arrive pas à récupérer et à utiliser un variable rentrer dans un champ...
Vu que je ne suis pas devellopeur mais technicien...je m'exprime mal...
Regarder l'image... ce n'est pas une fenêtre qui s'ouvre demandant le nom du pc, c'est un champ...
Re: [..] Simple ping
Posté : mar. 27 sept. 2011 12:01
par Tlem
Ceci fait partie du B.A-BA de la gestion graphique sous AutoIt.
Le champs dont vous parlez à un identifiant.
Vous avez dut le créer sous cette forme :
Ici, l'identifiant du contrôle est :
$Input
Il suffit d'utiliser plus loin dans le code, la commande
pour lire le contenu de ce champs.
Pensez à lire la documentation, car elle fournit des exemples relativement complet et vous évitera des questions de base comme celle-ci.
Re: [..] Simple ping
Posté : mar. 27 sept. 2011 12:16
par Jerome
Pwet a écrit :
C'est juste que je n'arrive pas à récupérer et à utiliser un variable rentrer dans un champ...
Jerome a écrit :
Code : Tout sélectionner
$Label1 = GUICtrlCreateInput("Nom de post", 56, 32, 130, 21)
$name = GUICtrlRead($Label1)
WTF ?
J'ai l'impression que vous n'avez même pas regardé ce que j'ai fait ....
Re: [..] Simple ping
Posté : mar. 27 sept. 2011 14:11
par mikell
Jerome a écrit :J'ai l'impression que vous n'avez même pas regardé ce que j'ai fait ....
Le téléphone, quelle plaie ....
