Functions > Misc >


AdlibRegister

Enregistre une fonction AdLib.

AdlibRegister ( "function" [, time = 250] )

Paramètres

function Le nom de la fonction adlib qui doit être enregistrée.
time [optionnel] Nombre de millisecondes entre chaque appel de la fonction. Valeur par défaut : 250 ms.

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0.

Remarques

La fonction spécifiée est appelée toutes les 250 ms (ou time ms), typiquement pour vérifier la présence d'erreurs. Par exemple, vous pouvez utiliser adlib dans un script faisant apparaitre un pop-up d'erreur aléatoire.
La fonction adlib doit être le plus simple possible car elle est exécutée souvent et que pendant son temps d'exécution le script principal est mis en pause. De plus, le paramètre 'time' doit être utilisé prudemment pour éviter une surcharge du processeur.
Vous ne pouvez pas enregistrer une fonction qui a es paramètres.

Plusieurs fonctions adlib peuvent être enregistrées. Le ré-enregistrement d'une fonction adlib la mettra à jour avec son nouveau paramètre 'time'.

En relation

AdlibUnRegister

Exemple

#include <MsgBoxConstants.au3>

If ProcessExists("SciTE.exe") = 0 Then
    MsgBox($MB_SYSTEMMODAL, "", "Vous aurez besoin d'exécuter SciTE.exe pour que ConsoleWrite s'affiche.")
EndIf

Example()

Func Example()
    ; Enregistre la fonction MyAdLibFunc() qui sera appelée toutes les 250ms (par défaut).
    AdlibRegister("MyAdLibFunc")

    ; Sleep n'arrête pas les fonctions AdLib en cours d'exécution.
    Sleep(1000)

    ; Les fonctions AdLib ne s'exécutent pas tant que une fenêtre bloquante est affichée, par exemple MsgBox, InputBox, WinWait, WinWaitClose, et...
    MsgBox($MB_SYSTEMMODAL, "", "Aucun message console ne sera affiché tant que la messagebox est affichée.")

    ; La fonction AdLib: MyAdLibFunc() va redémarrer.
    Sleep(2000)

    ; Annule l'enregistrement de la fonction MyAdLibFunc() pour être appelée toutes les 250ms.
    AdlibUnRegister("MyAdLibFunc")
EndFunc   ;==>Example

Func MyAdLibFunc()
    ; Assigne une variable statique avec le nombre de fois que la fonction est appelée.
    Local Static $iCount = 0
    $iCount += 1

    ConsoleWrite("MyAdLibFunc called " & $iCount & " time(s)" & @CRLF)
EndFunc   ;==>MyAdLibFunc