Вопрос: Как лучше всего организовать взаимодействие и взаимодействие двух программ (работающих на одном компьютере) ? (Windows, C ++)
Теоретическая ситуация:
На ПК с Windows у меня есть стороннее программное обеспечение , которое вы используете для работы (например, открытия / редактирования / сохранения файлов ... это не действительно важно). Это стороннее программное обеспечение имеет доступный C ++ SDK , поэтому вы можете разрабатывать для него плагины.
Я разрабатываю отдельную автономную программу Windows C ++ (скорее всего, использую Qt) с графическим интерфейсом. Эта программа предназначена для работы на том же компьютере с Windows, что и стороннее программное обеспечение. Эта программа будет действовать как пульт дистанционного управления или отправитель.
Используя SDK стороннего программного обеспечения, я разработал крошечный плагин для стороннего программного обеспечения . Эта программа действует как приемник, так что мой Qt GUI может отправлять команды, которые этот плагин будет получать, и, таким образом, удаленно управлять сторонним программным обеспечением соответственно .
Итак, для базового примера, Я мог нажать кнопку в моем автономном графическом интерфейсе, который будет взаимодействовать с плагином, который затем откроет указанный файл в стороннем программном обеспечении.
По сути, я ищу разработку автономного программного обеспечения, которое могло бы взаимодействовать с плагином, который я бы разработал для стороннего программного обеспечения.
Каков наилучший подход к этому? Я действительно понятия не имею, с чего начать и на что смотреть. Существуют ли общие библиотеки C ++, которые упрощают этот тип вещей?
Я относительно новичок в C ++ и очень новичок в Qt, поэтому, пожалуйста, попытайтесь уточнить. Пожалуйста, не говорите просто «Use Shared Memory» или что-то в этом роде, потому что я точно не пойму, о чем вы говорите.
Программа НЕ будет запускаться на отдельном компьютере, поэтому здесь нет необходимости в сетевых вещах Я не думаю.
Некоторые вопросы, о которых я думал:
Что делать, если у пользователя одновременно открыто несколько копий стороннего программного обеспечения. Как мое автономное программное обеспечение узнает, с каким из них взаимодействовать?
Если у меня уже запущено автономное программное обеспечение и я открываю стороннее программное обеспечение, должен ли плагин каким-либо образом регистрироваться или находить мое автономное программное обеспечение для связи с ним?
Если у меня уже запущено стороннее программное обеспечение, а затем я открываю автономное программное обеспечение, нужно ли ему сканировать плагин, чтобы увидеть, работает ли он или как он его находит?
Любая помощь будет принята с благодарностью. Я сделал поиск по теме на SO, но не нашел много вопросов конкретно для C ++, и на большинство из них не было много ответов, или они были не очень ясны или не были » t, в частности, относится к программному взаимодействию с плагином для сторонней программы.