Как предотвратить запуск копии приложения

Можно использовать переменную Atom, полная информация о которой содержится в справочном руководстве по Delphi.

program Project1;

uses
  Windows, Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}
const
  AtStr = 'MyProgram';

function CheckThis: boolean;
var
  Atom: THandle;
begin
  Atom := GlobalFindAtom(AtStr);
  Result := Atom <> 0;
  if not Result then GlobalAddAtom(AtStr);
end;

begin
  if not CheckThis then begin    // Запуск программмы
    Application.Initialize;
    Application.CreateForm(TForm1, Form1);
    Application.Run;
    GlobalDeleteAtom(GlobalFindAtom(AtStr));
  end else MessageBox(0, 'Нельзя запустить две копии программы', 'Error', 0);
end.
[Чумак Михаил]