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