Я написал простое консольное приложение на Qt / C ++, которое при вызове выполняет внешнее приложение, используя:
QProcess::startDetached("myapp",args);
Консольное приложение вызывается Chrome, Firefox и Opera с использованием собственных сообщений.
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging
Все отлично работает на Mac, Windows и Linux, за исключением комбинации
Firefox + Windows 10
Кажется, что разветвление не работает, когда Firefox вызывает консольное приложение
QProcess::startDetached("myapp",args); // but same works for Chrome + Windows
И если я использую
QProcess::execute("myapp",args);
это работает на Firefox. Но если пользователь закрывает firefox, он закрывает myapp
тоже, как и ожидалось. Так что я могу предотвратить их myapp
от выхода, если Firefox закрывается.
Задача ещё не решена.
Других решений пока нет …