[BCB]Empêcher l'execution multiple d'une fenêtre

thebeith Messages postés 3 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 13 juin 2003 - 12 juin 2003 à 17:42
thebeith Messages postés 3 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 13 juin 2003 - 13 juin 2003 à 12:00
Salut,

Je voudrais que l'appli que je développe ne puisse se lancer qu'une seule fois.
Mais je n'arrive pas à empecher l'execution multiple de cette appli.

Merci de votre aide.

The Beith

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 juin 2003 à 18:41
Fouilles dans le forum, question 1000 fois posee au moins.
Il y a une fonction de recherche pour cela.
BruNews, ciao...
0
thebeith Messages postés 3 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 13 juin 2003
13 juin 2003 à 08:12
ok, merci, je pars en exploration
0
thebeith Messages postés 3 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 13 juin 2003
13 juin 2003 à 12:00
Bon, c'est ok, si ça peut aider d'autres personne, mais il y a une partie en C++ Builder

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
HANDLE hMutex=CreateMutex(NULL, TRUE, "KMutex_Win32");
if (!hMutex)
{
MessageBox(NULL, "Impossible de créer le mutex.", NULL, MB_OK | MB_ICONINFORMATION);
return 1;
}
if (ReleaseMutex(hMutex))
{
//Lancement de l'application
try
{
Application->Initialize();
Application->CreateForm(__classid(TfrmMain), &frmMain);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
}
else
{
MessageDlg("AustralCOM est déjà lancé",mtWarning, TMsgDlgButtons() << mbOK, 0);
}
CloseHandle(hMutex);
return 0;
}
0
Rejoignez-nous