Как обнаружить запущенное приложение из пакета JWrapper и передать ему аргументы командной строки

Недавно мы решили перенести развертывание нашего приложения на JWrapper и начали заниматься небольшими изменениями, необходимыми для реализации всех функций нашего инструмента. В частности, у нас есть собственный протокол, который мы обрабатываем, используя регистрацию протокола в JWrapper. Мы делаем это в отдельном (не управляемом пользователем) виртуальном приложении. Когда он получает аргументы, он должен решить передать их текущему экземпляру основного виртуального приложения или создать новый экземпляр основного приложения с установленными аргументами командной строки (мы достигаем этого с помощью JWSystem.forkVirtualApp (...)).

Мы видим упомянутое на странице FAQ по обработке URL-адресов от JWrapper здесь, что только MacOS может зарегистрировать обработчик событий для ответа на открытия URL-адресов и что есть предложение для окон...

В Windows это невозможно напрямую, поскольку Windows не поддерживает его, однако выделенное виртуальное приложение для обработки URL-адресов, которое затем сообщало URL-адреса вашему основному приложению, могло бы достичь того же результата.

Мой вопрос как именно мы получаем наше работающее основное виртуальное приложение и как мы передаем ему некоторые аргументы? Есть ли особый подход, который мы должны использовать?

1 ответ

Возможно, вы сможете сделать это с помощью возможностей JWrapper IPC (межпроцессное взаимодействие). Вот старая статья, рассказывающая об этом: http://www.jwrapper.com/blog/aes-encrypted-multiplexed-inter-process-communication-for-java

Вот Javadoc для класса, который охватывает IPC в JWrapper: http://simple-help.com/media/static/jwrapper/jwutils/JWSockIPC.html

Вы также можете координировать свои действия, просматривая определенный файл как средство связи между вашими виртуальными приложениями.

Другие вопросы по тегам