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
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...
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
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
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Ça marche à merveille! J'aurais dû consulter le FAQ avant!
Merci!
Partager