begin process at 2012 05 30 14:13:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

programme deja ouvert ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

programme deja ouvert ?

vendredi 29 avril 2005 à 14:23:33 | programme deja ouvert ?

barraq

Salut,

voila je developpe un programme, et j'aimerais empecher l'utilisateur de l'ouvrir plusieur foi...
Genre quand il double clique sur l'icone du soft , le soft s'ouvre et regarde si le prog est deja ouvert, si oui alors il maximise celui deja ouvert et ensuite il se ferme lui meme...

qqun a compris ?
qqun a une solution  ?

je coirs avois deja vue cela avec isIconic... mais pas sur... merci
vendredi 29 avril 2005 à 14:51:20 | Re : programme deja ouvert ?

julienbj

BOOL CheckAlreadyRun(void)
{
   HANDLE mutex;
   if (mutex = CreateMutex(NULL, FALSE, NOMMUTEX))
   {
         if (GetLastError() == ERROR_ALREADY_EXISTS)
         {
               //Si on est ici c'est que le programme est déja lancé
               ReleaseMutex(mutex);
               return FALSE;
         }
         ReleaseMutex(mutex);
   }
   return TRUE;
}

Voila, tu n'as plus qu'à appeler ça dans ton winmain avant de créer ta fenetre, si la fonction te renvoie FALSE, alors fait un FindWindow pour trouver ta fenetre et affiche la au premier plan!

Vive le C
Tchao
Savon

vendredi 29 avril 2005 à 15:41:45 | Re : programme deja ouvert ?

barraq

merci je v tester, mais just un truc je met quoi a la place de "NOMMUTEX" ?
vendredi 29 avril 2005 à 15:50:38 | Re : programme deja ouvert ?

julienbj


A la place de NOMMUTEX, tu mets une chaine de caractère!

Vive le C
Tchao
Savon
vendredi 29 avril 2005 à 15:54:58 | Re : programme deja ouvert ?

barraq

Réponse acceptée !

oue ou je peux mettre NULL aussi...

en gros voila le resultat

[code]
BOOL CheckAlreadyRun(void)
{
   HANDLE mutex;
   if (mutex = CreateMutex(NULL, FALSE, NOMMUTEX))
   {
         if (GetLastError() == ERROR_ALREADY_EXISTS)
         {
               //Si on est ici c'est que le programme est déja lancé
               ReleaseMutex(mutex);
               return FALSE;
         }
         ReleaseMutex(mutex);
   }
   return TRUE;
}

// et cela on le met dans le winmain avant toute creatio de window...

if( CheckAlreadyRun() && (existhwnd = FindWindow("Parent", "3D Voice Chat")) )
  {
   // If minimize then maximize :)
   if( IsIconic(existhwnd) )
    OpenIcon(existhwnd);

   // Bring window to top
   BringWindowToTop(existhwnd);
   return 0;
  }
[/code]


Merci pour tout :)

vendredi 29 avril 2005 à 16:22:28 | Re : programme deja ouvert ?

BruNews

Administrateur CodeS-SourceS
UNIQUE INSTANCE PROG (WIN32)
http://www.cppfrance.com/code.aspx?ID=25238

ciao...
BruNews, MVP VC++
vendredi 29 avril 2005 à 19:40:54 | Re : programme deja ouvert ?

Gendal67

B'soir les progeurs!

J'ai fait aussi une source à ce sujet, bien que moins bien que BruNews...si tu veux, va donc y jetter un coup d'oeil

Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))


Cette discussion est classée dans : programme, qqun, soft, ouvert, deja


Répondre à ce message

Sujets en rapport avec ce message

Besoin de quelques renseignements en C++ [ par F_o_X ] Bonsoir a tousJe suis nouveau sur se forum, je tiens d'abord a félécité les webmasters du site pour la qualité de celui-ci. Je programme depuis enviro ShellExecute : savoir quand le programme est ouvert [ par glipper ] Bonjour,J'ouvre à l'aide de ShellExecute() un editeur de texte et lui demande de lire un fichier, mais je voudrais savoir quand il a fini de lire le f un programme qui s'auto-supprime [ par soldier8514 ] dans le cadre d'un soft alliant des techniques style injection de dll dans un exe , j'aurait besoin ke mon soft s'auto supprime une fois toutes ses ta comment verifier qu'on a bien un entier en entree? [ par filsdugrand ] bojours,voila je programme une petite calculette en ce moment pour mes etudes et je coince sur un petit probleme: comment verifier que ce qui a ete do Lecture d'un fichier ouvert par un autre programme. [ par OrsE ] Salut tout le monde, Voilà je chercher à ouvrir un fichir .doc alors que Word est l'utilise. Je sais que c'est possible parce que j'ai un logiciel du fichier deja ouvert par windowss en lecture !! [ par anonyme_man_in_this_world ] salut, est ce qu'on peut ouvrir un fichier exe deja ouvert par windows en lecture pour lire des données ?et comment ? merçi d'avance fatal error C1083 [ par julienbornet ] Bonjour, je suis debutant en C ++ et je doit realiser un programme qui utilise une library (que l'on m'a fournit). Cette library contient un fichier . Bloqué avec un programme C [ par Masternono ] salut, voila, je bloque sur un algo donc si quelqu'un pourrait m'aider ça serait sympa. Ecrire un programme en C permettant de saisir les notes (entie CDialog et CView [ par GEDEON ] Bonjour à tous....    J'ai un CDialog ouvert en DoModal() par un CView... j'aimerais savoir si je peu créer un évenement dans mon CDialog qui redéssin sauvegarde d'un programme en C++ [ par norber59480 ] Bonjour ,a tous  alors voila pour mes étude je dois convevoir un sudoku et language C++ et pour ce projet je dois pouvoir sauvegarder les meilleurs sc


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales