Как не допустить запуск второй копии программы. Вариант 5
program pds;
uses
Windows, Forms, Main in 'MAIN.PAS' {MainForm},
const
MemFileSize=127; MemFileName='one_example';
var
MemHnd:HWND;
{$R *.RES}
begin
MemHnd:=CreateFileMapping(HWND($FFFFFFFF),nil, PAGE_READWRITE,0,MemFileSize, MemFileName); if GetLastError<>ERROR_ALREADY_EXISTS then begin Application.Initialize; with TForm1.Create(nil) do try Show; Update; Application.CreateForm(TMainForm, MainForm); finally Free; end; Application.Run; end else Application.MessageBox('Приложение уже запущено (возможно оно свёрнуто на панели задач): Нажмите кнопку ОК для продолжения работы','Производственно-диспетчерская служба',MB_OK); CloseHandle(MemHnd);end.
