[R] Controle de ping pendant le déroulement d'un programme

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Bayo
Niveau 4
Niveau 4
Messages : 79
Enregistré le : mer. 23 avr. 2014 10:19
Status : Hors ligne

[R] Controle de ping pendant le déroulement d'un programme

#1

Message par Bayo »

Bonjour,

Je voulais voir avec vous si vous aviez une meilleure idée que moi.
J'ai des postes au travail qui exécutent des scripts Autoit au démarrage en se déclenchant lorsque le poste ping un des serveurs mais j'ai remarqué que certaines étapes ne se font pas correctement car pendant l'initialisation de la carte réseau le poste se met a ne plus pingé.
Je voulais voir si il était possible de mettre un contrôle constant et lorsque ça ne ping plus le script se met en pause?

Pour l'instant, j'ai pensé à une fonction appelée régulièrement qui boucle sur un ping toute les seconde : si ping on passe à la suite et sinon on attend que ça ping dans la fonction.

Avez vous une meilleure idée?

Merci de votre aide.
Modifié en dernier par Bayo le jeu. 20 juin 2019 16:04, modifié 1 fois.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Controle de ping pendant le déroulement d'un programme

#2

Message par walkson »

Bonjour,
Quelque chose comme ça ?
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

AdlibRegister("MyAdLibFunc",1000)

#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 266, 243)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
 $nMsg = GUIGetMsg()
 Switch $nMsg
  Case $GUI_EVENT_CLOSE
   Exit

 EndSwitch
WEnd




Func MyAdLibFunc()
   ; Assign a static variable to hold the number of times the function is called.
   Local Static $iCount = 0
   $iCount += 1
   While 1
      If Ping("www.autoitscript.com", 250) > 0 Then
         ToolTip($iCount & " marche", 200,200)
         ExitLoop
      Else
         ToolTip($iCount & " arret", 200,200)
         Sleep(1000)
      EndIf

   WEnd

EndFunc   ;==>MyAdLibFunc
RMQ: la gui est là pour faire tourner le code
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Bayo
Niveau 4
Niveau 4
Messages : 79
Enregistré le : mer. 23 avr. 2014 10:19
Status : Hors ligne

Re: [..] Controle de ping pendant le déroulement d'un programme

#3

Message par Bayo »

Parfait merci, je ne connaissais pas la fonction AdlibRegister. Je résout :)
Répondre