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

htp://aptem.net.ru





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

Добрые сутки, Валентин.

Вот решил поделиться советиком по теме "Как не допустить запуск второй копии программы III".
Прочитал версии этого совета "I" и "II". Как говориться, "но есть способ лучше..." Впрочем, он годится только для тех кому нет острой необходимости активировать существующую копию программы, а достаточно сообщить пользователю, что она уже запущена. Проверено, работает корректно в реальном приложении.


    ...
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;

С уважением, Владимир Волосенков.

Uno-v@mail.ru [000489]