Ассоциация Qt приложения с файлами. Как не открывать дубликат приложения
Вопрос касается только Windows
Создал небольшое приложение на Qt5 с кастомным форматом файла. Установить ассоциацию с расширением проблем не составило (гугл помог), но проблема состоит в следующем:
При открытии нескольких файлов сразу через проводник или другого файла при работающем приложении открывается дубликат приложения с открытым файлом.
Как сделать, чтобы приложение перехватывало этот запрос и открывало файл в уже открытой программе, а не создавало дубликаты?
Ответы (1 шт):
Отвечаю сам себе, может кому поможет.
Проблему можно решить путем создания системы локальных сокетов. Смысл следующий:
При запуске приложения оно пытается подключиться к серверу на устройстве, у него не получается (сервер не запущен) и приложение инициализируется в штатном режиме.
При инициализации оно создает тот самый сервер и слушает его.
При появлении дубликата, он (дубликат) успешно соединяется с сервером, отправляет путь к файлу на сервер и завершается.