Bonjour à tous,
Je cherche une idee pour limiter le lancement d'un programme à une seule instance.
J'ai pensé écrire un fichier (à l ouverture du programme) et si présence du fichier, alors on ne lance pas le programme.
Ou, recuperer le PID du prog et l'ecrire en BdR et checker l'existence lors du lancement.
Mais ces solutions ne me conviennent pas dans le cas ou le pc plante, le prog ne se lancera plus, puisque la clef de registre (ou le fichier créé) ne serobnt pas effacé.
Merci pour vos idees.
Cdlt. Dimvar.
[R] Limiter instances d'un programme
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.
[R] Limiter instances d'un programme
Modifié en dernier par DimVar le mer. 13 janv. 2016 15:45, modifié 1 fois.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Re: [..] Limiter instances d'un programme
Hello
Tu as essayé _Singleton ?
Tu as essayé _Singleton ?
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [..] Limiter instances d'un programme
Non.
Est ce que si le param $sOccurrenceName ne correspond plus au nom du programme (si un user renomme l'exe) cela fonctionne toujours ?
Ca marche (meme si je comprends pas pkoi).
J'ai testé en renommant le programme (compilé) et ca fonctionne qd meme, normal ?
Merci.
Ca marche (meme si je comprends pas pkoi).
J'ai testé en renommant le programme (compilé) et ca fonctionne qd meme, normal ?
Merci.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Re: [..] Limiter instances d'un programme
Peut etre ai-je mal compris...
$sOccurrenceName ne correspond pas au nom de l'exe ?
$sOccurrenceName ne correspond pas au nom de l'exe ?
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Re: [..] Limiter instances d'un programme
Le paramètre $sOccurrenceName n'est pas le nom de l'exécutable, c'est un nom qui sert à vérifier si un process existe, avec ce même idenfiant (c'est le nom du mutex).
De ce fait, tu peux renommer l'exécutable comme tu veux, ton programme ne pourra se lancer qu'une seule fois.
Essai de lancer deux fois le script suivant, en compilant deux exécutables nommés différemment (en laissant la boîte de dialogue ouverte) :
De ce fait, tu peux renommer l'exécutable comme tu veux, ton programme ne pourra se lancer qu'une seule fois.
Essai de lancer deux fois le script suivant, en compilant deux exécutables nommés différemment (en laissant la boîte de dialogue ouverte) :
Code : Tout sélectionner
#include <Misc.au3>
_Singleton("MyMutex", 0)
MsgBox(0, "", "")Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Re: [..] Limiter instances d'un programme
Okay, TipTop.
Merci Jguinch !
Merci Jguinch !
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !


