Вопросы и Ответы
17. Как определить работает ли уже данное приложение или это первая его копия?
Каждый экземпляр программы имеет ссылку на свою предыдущую копию - hPrevInst: hWnd (см. "Вопрос и Ответ 44"). Ее можно проверить перед созданием приложения и при необходимости отреагировать соответствующим образом.
Если запущена только одна копия, то эта ссылка равна нулю.
............
procedure
TForm1.FormCreate(Sender: TObject); {Проверяем
есть ли указатель на предыдущую копию
приложения} {Если
есть, то выдаем сообщение и выходим} END;
end; ............ P.S. Для выхода необходимо
использовать Halt, а не Close, как хотелось бы, так как
форма еще не создана и закрывать нечего.
begin
IF hPrevInst <> 0 THEN BEGIN
MessageDlg('Программа уже запущена!',
mtError, [mbOk], 0);
Halt;
{Иначе - ничего не делаем (не
мешаем созданию формы)}
...предыдущая страница следующая...
оглавление