[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 : 73
Enregistré le : mer. 23 avr. 2014 09:19
Status : Hors ligne

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

#1

Message par Bayo » jeu. 20 juin 2019 08:27

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 15:04, modifié 1 fois.

Avatar du membre
walkson
Modérateur
Modérateur
Messages : 685
Enregistré le : ven. 12 août 2011 18:49
Localisation : Essonne
Status : Hors ligne

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

#2

Message par walkson » jeu. 20 juin 2019 10:34

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

Bayo
Niveau 4
Niveau 4
Messages : 73
Enregistré le : mer. 23 avr. 2014 09:19
Status : Hors ligne

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

#3

Message par Bayo » jeu. 20 juin 2019 15:04

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

Répondre