Instance unique simple, tres simple svp

Sebopop2 Messages postés 34 Date d'inscription dimanche 17 décembre 2006 Statut Membre Dernière intervention 16 juillet 2008 - 18 déc. 2006 à 02:46
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 - 19 déc. 2006 à 02:08
Bonjour,

je fais un petit prog perso dans la barre des taches qui fait un ou deux trucs et je
voudrais un moyen tres tres simple de ne lancer qu'une seule instance,
quand je fais dans ma classe capp:
HWND wnd = findwindow(null, "ok")
if(wnd!=null)
   return 0;
il y a une erreur!

merci d'avance!

3 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
18 déc. 2006 à 02:58
Salut:

Si la fenêtre est lancée directement par WinMain alors utilise CreateMutex/GetLastError pour ne pas lancer qu'une seule instance de ton application.

CreateMutex (...);
Si GetLastError fournit ERROR_INVALID_HANDLE alors il y a plus qu'une seule instance de ton application.
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
18 déc. 2006 à 15:31
une idée serait de réutiliser la source de BruNews à propos des instances uniques en spécifiant le handle de l'icone dans la barre des taches, ça devrai passer même si cet icone est finalement masqué
(tests à faire)

autrement, un mutex tout simple devrait régler le pb

derniere solution si tu le souhaites (mais plutot lourde à mon avi)
met une clef ds la BdR & check son existance.
par contre, ça peut empécher les exécutions suivantes si la clef n'est pas correctement supprimée en cas de sortie inopinée du prog.
la soluce ici serait alors une suppression au reboot dans la clef adhoc, mais là encore c'est lourd et il s'agit d'une rustine !

___________________________________________________________
Magicalement
Nono
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
19 déc. 2006 à 02:08
Salut,
Tu peux regarder mon code source Indicateur RAM dans lequel j'utilise la méthode du mutex juste à l'entrée du WinMain.
0
Rejoignez-nous