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

Windows Discussion :

lancer 1 seul fois l'exe..


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 27
    Par défaut lancer 1 seul fois l'exe..
    Salut tous,

    quel est le meilleur moyen pour éviter de lancer plusieurs fois le même exe?

    Je voudrai qu'il n'y en ait qu'un seul qui s'exécute.

    Merci.

  2. #2
    Membre Expert
    Avatar de netah25
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    3 233
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 233
    Par défaut
    parles tu d'un exe personnelle, ou alors des exe en generale?

  3. #3
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 27
    Par défaut
    un exe perso.

    Je voudrai que quand on clic plusieurs fois sur monProg.exe, il n'y qu'un seul monProg.exe qui s'exécute.

    Merciiii

  4. #4
    Membre Expert
    Avatar de netah25
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    3 233
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 233
    Par défaut
    Peux-tu nous dire dans quel language tu programme?

    car personnelement je ne voix pas de solution "made by windows" donc tu dois pouvoir detecter lors du lancement de ton exe la presence d'un precedent lancement et bloquer l'execution...

    essai en suivant cette piste

  5. #5
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 27
    Par défaut
    je programme en CPP avec VS.NET.

    Je ne sais pas quel API utiliser, au démarrage de l'appli, pour voir s'il y a déjà une même appli qui s'exécute.

    Existe-t-il une API qui avec le nom de l'exe soit capable de m'indiquer si ce programme tourne déjà?

  6. #6
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Il te faut créer un objet kernel nommé, typiquement un Mutex. C'est une opération atomique, donc tu es assuré que même dans le pire des cas il est impossible de 2 exe créent le même mutex nommé en même temps.
    Si la création réussie, alors il n'existait pas, alors ton programme est tout seul. Si cela échoue, c'est que ton programme tourne déjà, ou qu'un autre programme fait pareil avec le même nom de mutex (donc choisir un nom complexe).
    Voir CreateMutex.
    ou cet exellent article :
    http://www.codeproject.com/cpp/avoidmultinstance.asp
    Attention sous XP cela n'empêche pas d'avoir une instance de ton programme pour chaque session (utilisateur connecté), mais généralement c'est le comportement souhaité.

  7. #7
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 27
    Par défaut
    la méthode avec le mutex à l'air pas mal.

    Merci

  8. #8
    Membre éclairé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    539
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 539
    Par défaut
    Juste pour faire le chieur :

    http://delphi.developpez.com/faq/?pa...tion#1instance

    Cette question revient périodiquement et d'innombrables solutions sont disponibles sur le site.
    Merci de chercher un peu

  9. #9
    Membre Expert
    Avatar de netah25
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    3 233
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 233
    Par défaut
    Citation Envoyé par Higgins
    Juste pour faire le chieur :
    Bon bah moi aussi alors,

    Met un petit tag [résolu] en cliquant sur le bpouton éponyme en bas a gauche de cette page

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Lancer une seul fois l'éxcuteur (programme) (.exe) avec Vb 2010
    Par yannel777 dans le forum VB.NET
    Réponses: 10
    Dernier message: 22/10/2013, 17h51
  2. lancer une seul fois timer
    Par Invité dans le forum C#
    Réponses: 6
    Dernier message: 28/11/2012, 23h40
  3. Réponses: 9
    Dernier message: 26/04/2007, 00h44
  4. Lancer une application une seule fois - numero de process
    Par lefabdepau dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/02/2007, 16h23
  5. [AS1-2] Lancer un code AS une seul fois...
    Par rteuteu55 dans le forum Flash
    Réponses: 6
    Dernier message: 13/04/2006, 14h05

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