APPLICATION NE POUVANT ÊTRE LANCÉ QU'UNE SEULE FOIS

ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 - 12 avril 2007 à 15:35
ecosmose Messages postés 46 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 30 septembre 2010 - 16 déc. 2007 à 15:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42201-application-ne-pouvant-etre-lance-qu-une-seule-fois

ecosmose Messages postés 46 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 30 septembre 2010
16 déc. 2007 à 15:27
C'etait juste une remarque de modélisation.

Le singleton permet l'unicité d'une entité (donc d'un processus, d'une instance, d'un objet, d'une IHM etc...). Il peut donc s'ppliquer partout. Je notais juste cette remarque pour que tu le note peut etre en commentaire dans le code ;-)

Ceci dit je salue ton source qui attaque des dll intéressantes de l'OS windows...Très bonne initiative et de bons commentaires très utiles..

Merci pour ton partage de connaissance
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
15 déc. 2007 à 18:50
Non non RichLeKebekoi, tu n'te trompes pas ;)
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
15 déc. 2007 à 16:43
A moins que je ne me trompe, le singleton ne s'étendra pas au dela d'un meme processus. Hors ici il est question de ne pas redémarrer un 2e processus de l'application si un est deja ouvert, comme Windows Live Messenger par exemple.
ecosmose Messages postés 46 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 30 septembre 2010
15 déc. 2007 à 16:10
Et le design pattern < singleton > ?
oliteine Messages postés 15 Date d'inscription lundi 30 août 2004 Statut Membre Dernière intervention 11 février 2008
6 sept. 2007 à 15:22
A quoi sert ton Mutex si ton FindWindow fonctionne ?
je sais je titille un peu la ...
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
18 avril 2007 à 22:57
très interessant
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
18 avril 2007 à 20:45
Simplement, juste un merci pour confirmer que tout fonctionne :)
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
13 avril 2007 à 17:04
Ludinski, un exemple de WM_COPYDATA

http://www.csharpfr.com/infomsg_OUVRIR-FICHIER-AVEC-SON-APPLICATION_889845.aspx

J'utilise du code unsafe mais tu peux facilement t'en passer.
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
13 avril 2007 à 14:14
Un gros merci pour cette source, je prendrai le temps de la regarder ce week-end :)
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
13 avril 2007 à 14:12
Voilà Rick..,
Je pense que tu trouveras ton bonheur la dedans

Pour recevoir les messages même quand la fenêtre est dans le systray, j'ai dû passer par l'interface IMessageFilter; WndProc lui, ne récupère plus les messages dans ce cas...
(c'est tout à fait normal d'ailleur !)

Lutinor, j'ai regardé de plus près le message WM_COPYDATA, mais je ne l'implémenterai pas : J'ai pas envie de me battre avec les allocations de mémoires non managés, surtout en passant par un tableau...

Par contre, si tu as un exemple d'utilisation dans un cas similaire, je suis preneur ^^

Voilà, bonne prog à tous...
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
12 avril 2007 à 17:43
Salut ricklekebekoi,
Je suis justement en train de m'en occuper...

Lutinor, c'est vrai que je n'y avait pas pensé.
Je vais voir...
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
12 avril 2007 à 16:47
Pour la ligne de commande tu pouvais passer par le message WM_COPYDATA.
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
12 avril 2007 à 15:35
Cela semble être ce que j'essai désespéremment de faire depuis quelques jours :) Est-ce que ça fonctionne si l'appli est dans le systray (NotifyIcon + Hide() + ShowInTaskbar:False + WindowState:Minimized) ??