cs_emmanuel9
Messages postés903Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention16 juin 2010
-
29 déc. 2005 à 14:32
cs_emmanuel9
Messages postés903Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention16 juin 2010
-
1 janv. 2006 à 11:59
Bonjour à tous,
Quelqun serait t'il comment il faut faire pour que quand je clique sur on executable plusieurs fois le programme ne se lance qu'une et unique fois, afin que je ne puisse pas lancer deux fois mon programme ?
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 29 déc. 2005 à 14:56
A noter bien évidemment que la solution de vérifier juste le nom de processus est à éviter absolument, quitte à passer par les process vérifiez aussi le chemin d'accès à l'executable afin de vérifier qu'il s'agit bien de votre programme.
Ensuite pensez aussi au contexte multi-utilisateur.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 29 déc. 2005 à 21:54
En fait je viens de me rendre compte que mon message précédent est ambigu :
"Si les droits de l'utilisateur tentant de lancer la 2ème instance sont insuffisants le processus n'apparaitrat pas dans la liste."
=> par "le processus" je parlais de la première instance lancée
Donc dans ce cas là il pourrait y avoir plusieurs instances, comme tu n'aurais pas connaissance de l'existence de la première.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 30 déc. 2005 à 14:22
Oui et non : si les droits sont suffisants le processus de la première session sera visible dans la liste quand tu feras ton test dans la seconde...
Tu dois prévoir la vérification du propriétaire dans ta gestion de l'unicité si tu veux limiter l'unicité à la session et non au système.
Bref, vive les mutex, c'est en général moins problématique que les bidouilles avec les listes de processus.
Il suffit de le nommer en utilisant entre autre un guid pour éviter les colisions avec d'autres programmes.
Si tu veux gérer l'unicité par session il te suffira de rajouter un élément identifiant la session au nom, etc etc
cs_emmanuel9
Messages postés903Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention16 juin 20102 29 déc. 2005 à 15:10
ok, merci de vos réponse mais si le nom du processus je le definis comme :
94374E65-7166-4fde-ABBD-4E943E70E8E8 je doute qu'il y ait d'autre programme qui se servent du même nom quand même.
cs_emmanuel9
Messages postés903Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention16 juin 20102 1 janv. 2006 à 11:59
oui par exemple pour le nom du mutex je met le nom de l'utilisateur de la session + le nom de mon logiciel par exemple : ex : jeanclaudemonprogramme et si un autre se logue sur un compte different ca fera paulmonprogramme.