Builder 6 c++

[Résolu]
Signaler
Messages postés
9
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
10 juillet 2009
-
Messages postés
9
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
10 juillet 2009
-
Comment empecher le lancement d'une application si celle-ci tourne deja ?? en Builder 6 c++
s'il vous plait je cherche un lien ou qualqu'un qui pourra m'aider à trouver la solution.et merci

8 réponses

Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
7
CreateMutex()






____________________________________________________________________________
Mon site internet :  

http://ImAnalyse.free.fr
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
7
Salut
Recherche un peu de doc sur les mutex, tu trouveras ce que tu cherches.
A+
____________________________________________________________________________
Mon site internet :  
http://ImAnalyse.free.fr
Messages postés
9
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
10 juillet 2009

salut mon amo tu peux m'aider un peu plus car je suis encore debutant.et merci
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
7
google est ton ami.

En gros un mutex peut être considéré comme un pion que le programme doit avoir s'il veux continuer à s'exécuter. Dans ton cas, il n'y aura un unique pion.
Maintenant, imagine que le programme 1 s'exécute: il y a un pion disponible, il va le prendre et s'exécuter normalement.
Un second programme veux s'exécuter: il regarde s'il y a un pion disponible. Comme il n'y en a pas, il s'arrêtera.
Quand le programme 1 finira, il replacera le pion.
A+
____________________________________________________________________________
Mon site internet :  
http://ImAnalyse.free.fr
Messages postés
9
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
10 juillet 2009

merci beaucoup t'es le meilleur.
sa marchait...
Messages postés
1
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
12 avril 2009

salut j'ai la chance de sinscrire dans votre site, sachat que je suis un etudient ingenieur en informatique, en fin cycle et mon projet sur les plitique de remplacement du politiqque du cache dans reseau ad hoc quelq'un il ya des idéé sur ce sujet il nous aideons  merci 
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
7
Tu ferais mieux de poser ta question dans un nouveau topic, parce que la, il y a aucun rapport. Je te conseil de aussi de poser une question précise.
A+

____________________________________________________________________________
Mon site internet :  
http://ImAnalyse.free.fr
Messages postés
9
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
10 juillet 2009

Dans cet exemple le code va être inséré dans le fichier principal de notre application "Project1.cpp". Nous y créons un Mutex avec un nom qui n'a aucune chance d'exister dans une autre application. Au lancement de la deuxième instance de l'application le Mutex avec ce nom existant déjà provoque une erreur sur la fonction CreateMutex. Erreur que l'on teste pour quitter la deuxième instance de l'application le cas échéant.


<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Ecrire le code dans le Main (project)et n’oubiler pas de femer le programme



 





 






#include <vcl.h>







#pragma hdrstop







USEFORM("Unit1.cpp", Form1);







//---------------------------------------------------------------------------







WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)







{








  
HANDLE hMutex;











        try








   
    {








         
hMutex = CreateMutex (NULL,FALSE,"Mon application");










          if (GetLastError() == ERROR_ALREADY_EXISTS) return 0;












          Application->Initialize();








          Application->CreateForm(__classid(TForm1), &Form1);








          Application->Run();








          CloseHandle(hMutex);








        }








        catch (Exception &exception)








       
{





                 Application->ShowException(&exception);





        }





        return 0;




}