Réponse acceptée !
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.