Met en place un modèle de conception où une seule instance du script peut être exécutée
#include <Misc.au3>
_Singleton ( $sOccurrenceName [, $iFlag = 0] )
$sOccurrenceName | Chaîne pour identifier l'occurrence du script. Cette chaîne ne peut pas contenir le caractère \, sauf si vous placez l'objet dans un espace de noms (voir Remarques). |
$iFlag | [optionnel] Options de comportement. 0 - Quitte le script avec le code de sortie -1 si une autre instance existe déjà. 1 - Retourne de la fonction sans quitter le script. 2 - Permet à l'objet d'être accessible par n'importe qui dans le système. Ceci est utile si l'objet est spécifié "Global" dans un environnement multi-utilisateur. |
Succès: | Retourne le handle de l'objet utilisé pour la synchronisation (un mutex). |
Échec: | Retourne 0 |
Vous pouvez placer l'objet dans un espace de noms en faisant précéder le nom de votre objet par "Global" ou par "Local". Les objets "Global" combinés avec le flag 2 sont utiles dans les environnements multi-utilisateurs.
#include <Misc.au3> #include <MsgBoxConstants.au3> If _Singleton("test", 1) = 0 Then MsgBox($MB_SYSTEMMODAL, "Warning", "An occurence of test is already running") Exit EndIf MsgBox($MB_SYSTEMMODAL, "OK", "the first occurence of test is running")