I. Une seule instance de l'application▲
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.
Sélectionnez
#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
;
}