Как не допустить запуск второй копии программы. Вариант 3
...
Uses syncobjs;
...
Var
CheckEvent: TEvent;...
procedure TForm1.FormCreate( Sender: TObject );
begin
CheckEvent:= TEvent.Create( nil, false, true, 'MYPROGRAM_CHECKEXIST' ); If CheckEvent.WaitFor( 10 ) <> wrSignaled then begin // Сюда попадаем если одна копия уже запущена. Можно, например, сообщить об этом пользователю. Self.Close; // Здесь можно завершить программу или сделать еще что-нибудь. end;end;
