Bonjour, je déploie présentement une application à l'aide de ClickOnce. j'aimerais savoir comment faire en sorte pour qu'elle ne puisse être exécutée une 2e fois si elle est déjà ouverte.
Merci
Version imprimable
Bonjour, je déploie présentement une application à l'aide de ClickOnce. j'aimerais savoir comment faire en sorte pour qu'elle ne puisse être exécutée une 2e fois si elle est déjà ouverte.
Merci
A priori le fait que l'application soit déployée via ClickOnce ne change pas grand chose, ou alors j'ai raté un truc...
Tu peux utiliser un mutex nommé. La première instance de l'application crée le mutex et se l'approprie. Lorsque la 2eme instance démarre, elle tente de créer un mutex avec le même nom. Comme il existe déjà, celà génère une exception. Il suffit ensuite d'intercepter cette exception et de terminer la 2e instance.
Je signale au passage que ce n'est peut-être pas la façon recommandée d'utiliser les mutex, mais c'est comme ça que je l'ai compris...
Merci à vous 2!
bien gentil!
effectivement ma méthode n'était pas tout à fait exacte... il faut créer l'objet Mutex sans se l'approprier (pas d'exception même si le mutex existe), puis essayer d'en prendre le contrôle avec WaitOne, comme c'est fait dans la FAQ
Ça marche à merveille! J'aurais dû consulter le FAQ avant!
Merci!