Как определить работает ли уже данное приложение или это первая его копия?

Каждый экземпляр программы имеет ссылку на свою предыдущую копию - hPrevInst: hWnd. Ее можно проверить перед созданием приложения и при необходимости отреагировать соответствующим образом.

Если запущена только одна копия, то эта ссылка равна нулю.

Пример:

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

Последние комментарии

  • как называется рыжая панда >>>>> https://youtu.be/sUHmEL93qhQ
  • Отправка сообщений в более чем 450 000 форм обратной связи (только Россия и СНГ) за 3000р Ваше сообщение получат администраторы сайтов Вы можете прорекламировать Ваши товары и услуги! Ваше письмо будет прочитано. Заявки и вопросы писать только сюда: form2017form @ yandex.ru ( убрать пробелы )
  • Is this website alive? Or....NOT?! Thanks. I Need XEvil. XEvil 4.0 can break Google ReCaptcha-2!

Счетчики