IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Limiter la possibilit� de lancer une application � 1 fois


Sujet :

MFC

  1. #1
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2011
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Par d�faut Limiter la possibilit� de lancer une application � 1 fois
    Bonjour,

    J'ai d�velopp� une petite application type boite de dialogue et je l'ai compil� apr�s en release, le probl�me est si je clique 3 fois par exemple, sur l'icon de l'appli j'aurai 3 fen�tres de l'application qui s'ouvrent !
    La question qu'est ce que je dois rajouter pour que je puisse limiter le lancement de l'application � une seul fois possible ?

    Merci.

  2. #2
    Expert confirm�
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 772
    Par d�faut
    La solution Embarcadero - C++ Builder qui fonctionne ... mais qui est � adapt�e.

    Tout au d�but du main, on cr�e un mutex avec le nom de l'application. Et si la cr�ation ne r�ussit pas, cela veut dire que l'application est d�j� lanc�e

    �dit: Le truc c'est que le mutex va �tre rel�ch� � la fin de l'application automatiquement


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    		HANDLE mutex = CreateMutexW(NULL, FALSE, app_name.data());
     
    		if (GetLastError() == ERROR_ALREADY_EXISTS) {
    			if (mutex != NULL) {
    				CloseHandle(mutex);
    			}
     
    			Application->MessageBox(L"L'application ne peut pas être exécutée 2 fois", PRODUCT_NAMEW, MB_OK);
    			Application->Terminate();
    			return EXIT_FAILURE;
    		}

  3. #3
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 505
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 505
    Par d�faut
    Pour �viter les collisions de nom, le plus prudent est d'utiliser un GUID comme noms du Mutex.

  4. #4
    Membre confirm�
    Homme Profil pro
    �tudiant
    Inscrit en
    Avril 2011
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Par d�faut
    Merci � vous foetus et bacelar

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 11
    Dernier message: 25/05/2006, 11h42
  2. [application tache de fond] lancer une application
    Par jean-jacques varvenne dans le forum G�n�ral Python
    R�ponses: 5
    Dernier message: 25/03/2005, 11h13
  3. [GNU Pascal] Lancer une application en plein �cran
    Par joleboss dans le forum Autres IDE
    R�ponses: 13
    Dernier message: 20/05/2004, 12h57
  4. lancer une application au d�marrage de WinXP
    Par Sph@x dans le forum Windows
    R�ponses: 6
    Dernier message: 07/04/2004, 18h05
  5. R�ponses: 2
    Dernier message: 05/12/2003, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo