Как не допустить запуск второй копии программы. Вариант 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. |