#774

Програма стежить, щоб її копії не працювали одночасно й не розтягували одні й ті самі файли. Для цього під час запуску створюється службовий файл-замок у тимчасовій теці Windows.

Як це влаштовано

Замок — це маленький текстовий файл у теці %TEMP%, усередині якого записано номер процесу. Ім'я залежить від назви програми й закінчується на _gui.lock, _download.lock або _convert.lock — за режимом роботи:

  • вікно програми — не запуститься, якщо працює інше вікно або будь-яка з фонових служб;
  • служба завантаження і служба конвертації — не запустяться, якщо відкрито вікно програми або вже працює така сама служба;
  • разові режими (один цикл, разова конвертація) замка не створюють;
  • очищення не запуститься, доки працює вікно програми або будь-яка служба.

При нормальному завершенні замок видаляється сам.

«Програму вже запущено», хоча вікна немає

Спершу перевірте диспетчер завдань — вікно могло згорнутися в область сповіщень або залишитися висіти процесом. Якщо процес є, закрийте його штатно.

Якщо після аварійного завершення (вимкнули живлення, зняли завдання) файл-замок залишився на диску, програма зазвичай дає раду сама: вона перевіряє, чи живий записаний у ньому процес, і за потреби перезаписує замок. Проблема лишається тільки в рідкісному випадку, коли Windows устигла видати той самий номер іншому процесу — тоді файл потрібно видалити вручну.

Як видалити замок вручну

  1. Переконайтеся, що програму справді не запущено.
  2. Відкрийте провідник і введіть в адресному рядку %TEMP%.
  3. Знайдіть файли, що закінчуються на _gui.lock, _download.lock, _convert.lock, і видаліть їх.
  4. Запустіть програму.

Чого не варто робити

  • Запускати дві копії програми «для швидкості» — замовлення завантажуються й конвертуються паралельно всередині однієї копії, для цього є параметри конвертації.
  • Тримати одночасно вікно програми й фонову службу на одному комп'ютері — вони заважають одне одному та заблокують запуск.