Я пытаюсь реализовать простую рутину, используя семафоры, которая позволит мне запустить только 3 экземпляра приложения. Я мог бы использовать 3 мьютекса, но это не очень хороший подход, который я пробовал до сих пор
var
hSem:THandle;
begin
hSem := CreateSemaphore(nil,3,3,'MySemp3');
if hSem = 0 then
begin
ShowMessage('Application can be run only 3 times at once');
Halt(1);
end;
Как я могу сделать это правильно ?