Comment m'assurer au lancement de mon appli qu'elle ne tourne pas déjà?

[Résolu]
Signaler
Messages postés
46
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
5 février 2012
-
Messages postés
46
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
5 février 2012
-
Bonjour

J'aimerai savoir quel code faire pour m'assurer qu'à son lancement mon appli ne tourne pas déjà. Cette question à du être posée plus de cent fois mais je n'arrive pas à la trouver.

Merci pour vosréponses.

3 réponses

Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
Salut,

IMPLEMENTATION

{$R *.dfm}



var  HandleMutex : THandle;



function ExecuteDeja : Boolean;
begin
SetLastError(NO_ERROR);
result := true;
if OpenMutex(MUTEX_ALL_ACCESS, false,
                  pChar(ExtractFileName(Application.ExeName))) <>0 then exit;
HandleMutex := CreateMutex(Nil, true,
                                       pChar(ExtractFileName(Application.ExeName)));
if HandleMutex = 0 then exit;
result := false;
end;



procedure TForm1.FormCreate(Sender: TObject);
begin
if ExecuteDeja then Halt;
end;



procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if HandleMutex <> 0 then ReleaseMutex(HandleMutex);
end;

END.
Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
7
tu peux aussi utiliser le composant unpas2 de michel bardou
Messages postés
46
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
5 février 2012
1
Merci à tous
Comme à l'habitude vous avez été efficaces, rapides et super sympas

H60