[..] Executer un script une seule fois
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[..] Executer un script une seule fois
B onne année à tous !
Pour bien commencer l'année une nouvelle question !
Puis je faire en sorte qu'un script ne s'excute qu'une seule
fois ?
Je ne vois pas trop comment faire la fonction _singleton ne lance qu'une
seule instance ...mais bon ce n'est pas tout à fait ce que je cherche...
Merci d'avance pour vos suggestions et conseils
Jean Marc
Pour bien commencer l'année une nouvelle question !
Puis je faire en sorte qu'un script ne s'excute qu'une seule
fois ?
Je ne vois pas trop comment faire la fonction _singleton ne lance qu'une
seule instance ...mais bon ce n'est pas tout à fait ce que je cherche...
Merci d'avance pour vos suggestions et conseils
Jean Marc
- zeshrek
- Niveau 10
- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [..] Executer un script une seule fois
Par une seule fois tu veux dire :
1/ A un instant T il n'y a qu'une seule occurence du script qui s'éxécute
2/ Dans une session (entre 2 login de l'utilisateur) le script ne s'exécute qu'une seule fois
3/ Le script ne peut etre lancé qu'une seule fois par chaque utilisateur de la machine
4/ Le script ne peut etre éxécuté qu'une seule fois sur l'ordinateur, quel que soit l'utilisateur qui éssaye de le lancer la seconde fois
Hé oui, il peut y avoir plein de 'une seule fois'
En clair, plutot que nous parler de ce qui ne correspond pas a ce que tu veux faire (_singleton), dis nous ce que tu veux faire pour qu'on essaye de te troucer une solution
1/ A un instant T il n'y a qu'une seule occurence du script qui s'éxécute
2/ Dans une session (entre 2 login de l'utilisateur) le script ne s'exécute qu'une seule fois
3/ Le script ne peut etre lancé qu'une seule fois par chaque utilisateur de la machine
4/ Le script ne peut etre éxécuté qu'une seule fois sur l'ordinateur, quel que soit l'utilisateur qui éssaye de le lancer la seconde fois
Hé oui, il peut y avoir plein de 'une seule fois'
En clair, plutot que nous parler de ce qui ne correspond pas a ce que tu veux faire (_singleton), dis nous ce que tu veux faire pour qu'on essaye de te troucer une solution
Si vis pacem para bellum
Re: [..] Executer un script une seule fois
Effectivement je souhaiterais que mon script ne s'excute qu'une seule fois
sur une même machine.
Le script ne peut etre éxécuté qu'une seule fois sur l'ordinateur, quel que soit l'utilisateur qui éssaye de le lancer la seconde fois
J'ignore comment coder cela ?
Je Suis curieux de savoir comment procéder !
Merci beaucoup de votre réponse et de vos suggestions!
sur une même machine.
Le script ne peut etre éxécuté qu'une seule fois sur l'ordinateur, quel que soit l'utilisateur qui éssaye de le lancer la seconde fois
J'ignore comment coder cela ?
Je Suis curieux de savoir comment procéder !
Merci beaucoup de votre réponse et de vos suggestions!
- cramaboule
- Niveau 2
- Messages : 25
- Enregistré le : dim. 19 août 2007 15:54
- Status : Hors ligne
Re: [..] Executer un script une seule fois
Tu peux essayer avec un fichier .ini où tu inscris un 'on' 'off'.jcaspar a écrit :Effectivement je souhaiterais que mon script ne s'excute qu'une seule fois
sur une même machine.
Le script ne peut etre éxécuté qu'une seule fois sur l'ordinateur, quel que soit l'utilisateur qui éssaye de le lancer la seconde fois
J'utilise ce système pour exécuter l'un de mes script qu'une fois par jour. J'inscris la date dans un fichier .ini et à chaque lancement je vais vérifier ce fichier .ini.
Edition: corrections
- moutelous
- Niveau 6
- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [..] Executer un script une seule fois
Bonjour,
Une petite info en base de registre et voilà .....
Une petite info en base de registre et voilà .....
A+
- zeshrek
- Niveau 10
- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [..] Executer un script une seule fois
Si le but est de ne le lancer qu'une fois quel que soit les autres utilisateurs qui éssayent, je suppose que le plus simple consisterait a coller une clé de registre dans dans HKLM\softwares (ou si le but est de la cacher y a surement moyen de créer un GUID dans HKLM\system\controlset01\class en prenant exemple sur des class qui existent déjà) lors de la première execution, et d'en tester la présence.
Si la clé est là, c'est que l'appli a déjà tourné donc fin. Sinon, il s'execute, puis crée la clé, et quitte
A la limite tu peux lui en faire créer plusieurs
Edit : argll !!! grilled par moutelous pendant que je postais ma réponse...
Si la clé est là, c'est que l'appli a déjà tourné donc fin. Sinon, il s'execute, puis crée la clé, et quitte
A la limite tu peux lui en faire créer plusieurs
Edit : argll !!! grilled par moutelous pendant que je postais ma réponse...
Si vis pacem para bellum
- jl56
- Niveau 7
- Messages : 411
- Enregistré le : mer. 24 oct. 2007 22:42
- Localisation : 56000
- Status : Hors ligne
Re: [..] Executer un script une seule fois
Bonjour
J'avais résolu ce problème en testant simplement la présence d'un fichier
A+ JL56
J'avais résolu ce problème en testant simplement la présence d'un fichier
Code : Tout sélectionner
if FileExists("deja lancé.txt") Then
MsgBox(0,"attention","ce script à déja été éxécuté")
Exit
EndIf
$file = FileOpen("deja lancé.txt", 2)
MsgBox(0,"ok","execution du script pour la premiere fois")
- zeshrek
- Niveau 10
- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [..] Executer un script une seule fois
l'inconvénient du fichier c'est qu'il risque plus facilemnt d'etre supprimé par un utilisateur qui voudra quand même lancer le script.
Sinon, y a aussi une solution, c'est que le script s'auto suprime apres avoir tourné. Si il est plus là, forcément personne ne le lancera
voir du coté de selfdelete...
Sinon, y a aussi une solution, c'est que le script s'auto suprime apres avoir tourné. Si il est plus là, forcément personne ne le lancera
voir du coté de selfdelete...
Si vis pacem para bellum
- Tlem
- Site Admin
- Messages : 11773
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Executer un script une seule fois
Ouais, mais on ce fait avoir qu'une fois. Après on fait une copie avant de le lancer.
Dans les meilleures solutions, je conseil une clé dans la base de registre.
Genre dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class, ou dans win.ini, une nouvelle valeur anodine.
Sinon, le top (mais il faut impérativement que le soft se connecte sur un serveur) un échange de clé générée par un algorithme maison.
Pas de connexion => pas de lancement.
Après, il est possible de faire un mixe de ces solutions + divers autres, mais tout dépend de l'importance de votre script.
Dans les meilleures solutions, je conseil une clé dans la base de registre.
Genre dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class, ou dans win.ini, une nouvelle valeur anodine.
Sinon, le top (mais il faut impérativement que le soft se connecte sur un serveur) un échange de clé générée par un algorithme maison.
Pas de connexion => pas de lancement.
Après, il est possible de faire un mixe de ces solutions + divers autres, mais tout dépend de l'importance de votre script.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
- jchd
- AutoIt MVPs (MVP)
- Messages : 2273
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] Executer un script une seule fois
Tour dépend aussi de la sémantique que le posteur cache sous le terme "une seule fois" :
Par utilisateur
Par PC (qu'est-ce qu'un PC ?)
Par système/OS installé (un dual boot XP et 7 sont-ils le même système ?)
Quid de la virtualisation ?
etc.
Par utilisateur
Par PC (qu'est-ce qu'un PC ?)
Par système/OS installé (un dual boot XP et 7 sont-ils le même système ?)
Quid de la virtualisation ?
etc.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
- zeshrek
- Niveau 10
- Messages : 984
- Enregistré le : mer. 17 nov. 2010 09:31
- Localisation : Sur ma chaise
- Status : Hors ligne
Re: [..] Executer un script une seule fois
La question a déjà été posée (regarde le 2eme post du topic) a a obtenu une réponse mais c'est vrai que les solutions proposées ont toutes leurs faiblesse.
Le fichier marqueur marche dans le cas de multiboot, mais peut etre supprimé si l'utilisateur veut relancer le script malgré tout.
La clé de registre est spécifique a un OS.
L'interrogation d'un serveur implique la mise en place d'un serveur, et un échange de données a l'insu de l'utilisateur.
.. etc etc.
C'est le problème quand les gens posent une question sans avoir réfléchi a tous les aspects du problème...
Le fichier marqueur marche dans le cas de multiboot, mais peut etre supprimé si l'utilisateur veut relancer le script malgré tout.
La clé de registre est spécifique a un OS.
L'interrogation d'un serveur implique la mise en place d'un serveur, et un échange de données a l'insu de l'utilisateur.
.. etc etc.
C'est le problème quand les gens posent une question sans avoir réfléchi a tous les aspects du problème...
Si vis pacem para bellum
- jchd
- AutoIt MVPs (MVP)
- Messages : 2273
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: [..] Executer un script une seule fois
J'avais bien vu, géant vert, mais la réponse apportée n'éclaircit pas grand chose. Qu'est-ce qu'une "machine" ?
Ceci rejoint d'autres posts antérieurs ici ou sur le forum US ou sur des forums d'autres langages/OS, sans recevoir jamais de réponse définitive.
Le problème étant mal posé à la base, les suggestions ne peuvent qu'être bancales d'un côté ou d'un autre.
Ceci rejoint d'autres posts antérieurs ici ou sur le forum US ou sur des forums d'autres langages/OS, sans recevoir jamais de réponse définitive.
Le problème étant mal posé à la base, les suggestions ne peuvent qu'être bancales d'un côté ou d'un autre.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.