Accueil > Forum > > > > Lancer une seule instance de mon .exe
Lancer une seule instance de mon .exe
vendredi 11 février 2005 à 15:48:13 |
Lancer une seule instance de mon .exe

Helau
|
Voilà, tout est résumé dans le titre ! Je voudrais pouvoir lancer qu'une seule fois mon .exe. Mais, je ne sais pas comment controler si mon prog est déjà lancé ou non... Est ce que quelqu'un pourrait m'aiguiller ? Mercu. Helau
|
|
vendredi 11 février 2005 à 16:06:44 |
Re : Lancer une seule instance de mon .exe

HCJarod
|
FindWindow()
Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème. a+
|
|
vendredi 11 février 2005 à 16:15:49 |
Re : Lancer une seule instance de mon .exe

ymca2003
|
autre solution : -créer un fichier et vérifier s'il est pas déjà présent, le détruire à la fin pour permettre à une autre instance de démarrer. - sous windows : créer un mutex et si il est dékà présent, c'est que le prog tourne déjà. le fermer à la fin (dans mes sources, mon prog sur la distance parcourrue par la souris utilise cela)
|
|
vendredi 11 février 2005 à 16:44:08 |
Re : Lancer une seule instance de mon .exe

alkove
|
N'y a t'il pas une solution aussi avec les instances passées en arguments dans WinMain sous win32 ?
|
|
vendredi 11 février 2005 à 17:11:53 |
Re : Lancer une seule instance de mon .exe

BruNews
|
Il n'y a que l'instance courante en 1er param, le second est toujours NULL et seulement present pour compatibilite avec les progs 16 bits.
ciao... BruNews, MVP VC++
|
|
vendredi 11 février 2005 à 17:15:36 |
Re : Lancer une seule instance de mon .exe

ymca2003
|
non en Win32 hPrevInstance est toujours NULL (héritage du 16 bits ou les progs partagaient le même espace mémoire).
|
|
vendredi 11 février 2005 à 21:42:09 |
Re : Lancer une seule instance de mon .exe

cosmobob
|
salut,
http://www.cppfrance.com/code.aspx?ID=25238
va voir, bcp de gens se sont déja posé cette question.
a++
|
|
mardi 22 mars 2005 à 15:41:55 |
Re : Lancer une seule instance de mon .exe

Helau
|
Excusez moi de ne pas être revenue avant, mais je bossis sur autres choses. Tout d'abord, je vous remercie de vos reponses. Elles m'ont rapprochées de la solution, mais je n'y suis pas encore !
Je ne crois pas avoir précisé que j'utilisais des MFC. Le FindWindow() ne fonctionne pas dans mon cas, car mon nom de fenêtre n'est pas fixe. J'ajoute au nom de ma fenêtre le nom du fichier en cours de traitement, donc qd je relance mon appli, il fait un FindWindow(NULL, "Mon application") alors, que ma fenêtre s'appelle "Mon application - Mon fichier" et je ne connais pas "Mon fichier" dans le nouvel initInstance (sauf si je me trompe... les 2 "exe" ne partagent pas de données, si ? )
J'ai donc testé le Mutex. Ca m'empêche de créer une nouvelle instance, mais je ne peux pas remettre le focus sur l'exe déjà lancé, alors que si j'utilise le findwindow avec une chaine "exacte" je peux le faire (avec le code d'exemple dans msdn)
Bon, je ne sais pas si c'est très clair tout ça. D'après ce que j'ai lu dans MSDN, FindWindow cherche la chaine exacte, il n'existerait pas un équivalent qui ne chercherait que par rapport au début de la chaine ?
C'est un peu rageant d'être si près du but, mais de ne pas réussir à terminer... En tout cas, encore merci pour votre aide. Helau.
|
|
mardi 22 mars 2005 à 17:13:59 |
Re : Lancer une seule instance de mon .exe

BruNews
|
Pourquoi n'utilises tu pas 4 octets du fichier d'échange comme dans mon exemple (url donnée par cosmobob plus haut), ça remet le focus sur le prog à tout coup.
ciao... BruNews, MVP VC++
|
|
mercredi 23 mars 2005 à 09:31:42 |
Re : Lancer une seule instance de mon .exe

Helau
|
J'ai un peu de mal à comprendre comment ça marche, je dois bien l'avouer... D'autant plus que j'ai toujours développer en utilisant les MFC, ça ressemble, mais c quand même pas exactement la même chose. A quoi correspond le FileMapping et comment ça fonctionne ? Par contre, dans ton code, j'ai vu quelquechose qui pourrait résoudre mon problème, c'est à dire affecter un nom de classe à mon appli. Je pourrais alors utiliser le FindWindow avec le nom de la classe et non le nom de la fenêtre. Dans ton appli, tu définis
WNDCLASSEX wndcls; tu affectes toutes les valeurs qui vont bien, tu fais un RegisterClass, puis tu crées ta fenêtre.
En MFC, la fenêtre n'est pas créée de façon "explicite". A quel endroit faire l'équivalent de
wndcls.lpszClassName = szappname; (et quel est cet équivalent ?)
Et comment "récupérer" le bon paramêtre à passer à RegisterClass ?
Merci encore pour ton aide, parce que ce soit pour la première ou la seconde solution, je suis dans le flou artistique !
|
|
Cette discussion est classée dans : exe, lancer, instance, seule
Répondre à ce message
Sujets en rapport avec ce message
Lancer programmes simultanement... [ par Annihilator ]
bien voila j' aimerais lancer differents programmes simultanement, ou plusieurs fois directement le meme programme, mais je ne sais pas comment le fai
Salut je voudrai savoir comment faire pour lancer une appl. en C/C++ [ par jarodx64 ]
comment faire pour lancer une application en C/C++ sur : - Win32: j'ai commencer un programme et je voudrai lancer une application externe Win16/32 (m
DEV C++ -> pr lancer "exe" de mon programme [ par grandebutant ]
svp Sur DEV C++, je voudrais lancer un exe de mon programmeAAAauuuuuuuu seeeeeccccouuurrrr!!Merci aux dieux de la programmation !!
lancer un exe avec son programmme [ par zoreol ]
je veut lancer un exe et recuperer se qu'il affiche(ou retourne) a partir de mon programme j'y arrive avec Win exec mais je n'arrive pas a recup se qu
Lancer un exe depuis mon appli [ par crocejf2000 ]
Salut tout lmonde,Je sais qu'il est possible de lancer un exe et créant un nouveau thread, mais il me semble qu'il y a une autre methode, et le proble
forcer le multi-instance [ par phentex ]
j'ai en ma possession un executable qui refuse de se lancer plusieurs fois simultanément. J'aimerais pouvoir le lancer plusieurs fois.Sauriez vous me
lancer "exe" de mon programme. [ par grandebutant ]
svp ! Grands seigneurs de la programmation !Que dois-je faire pour lancer de mon programme un "exe" qui ne soit pas une commande dos.Merci vos seigneu
Récupération de la valeur de retour d'un .exe dans un prog en C [ par stephanieL ]
Salut tout le monde!Je voudrais lancer un exe d'un programme en c, et récupérer la valeur de retour de cet exe dans ce prog en c.Le main de l'exe à la
Lancer un exécutable à partir d'un programme C [ par yoyo_du_49 ]
Est-il possible de lancer un exécutable (.exe) à partir d'un programme C en écrivant une instruction particulière dans le main() ?Exemple:lancer exemp
lancer un .exe, et cassos! [ par Arnaud16022 ]
hello tt le monde, je voudrais faire un launcher, c'est a dire un prog qui lance mon jeu, se ferme tt de suite apres, et le jeu se poursuit sans qu'i
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|