Идёт загрузка страницы...

htp://aptem.net.ru





Как не допустить запуск второй копии программы V

Пришло от читателя письмо:

Добрый день!
Хотел бы добавить ещё один метод, с помощью которого можно предотвращать запуск второй копии приложения.


    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.

С уважением,
Васильев Николай.

5 апреля 2000 г., среда
10:15:23 [000780]