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.
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;
}