C ++ Как заставить две программы взаимодействовать?

Вопрос: Как лучше всего организовать взаимодействие и взаимодействие двух программ (работающих на одном компьютере) ? (Windows, C ++)

Теоретическая ситуация:

  1. На ПК с Windows у меня есть стороннее программное обеспечение , которое вы используете для работы (например, открытия / редактирования / сохранения файлов ... это не действительно важно). Это стороннее программное обеспечение имеет доступный C ++ SDK , поэтому вы можете разрабатывать для него плагины.

  2. Я разрабатываю отдельную автономную программу Windows C ++ (скорее всего, использую Qt) с графическим интерфейсом. Эта программа предназначена для работы на том же компьютере с Windows, что и стороннее программное обеспечение. Эта программа будет действовать как пульт дистанционного управления или отправитель.

  3. Используя SDK стороннего программного обеспечения, я разработал крошечный плагин для стороннего программного обеспечения . Эта программа действует как приемник, так что мой Qt GUI может отправлять команды, которые этот плагин будет получать, и, таким образом, удаленно управлять сторонним программным обеспечением соответственно .

Итак, для базового примера, Я мог нажать кнопку в моем автономном графическом интерфейсе, который будет взаимодействовать с плагином, который затем откроет указанный файл в стороннем программном обеспечении.

По сути, я ищу разработку автономного программного обеспечения, которое могло бы взаимодействовать с плагином, который я бы разработал для стороннего программного обеспечения.

Каков наилучший подход к этому? Я действительно понятия не имею, с чего начать и на что смотреть. Существуют ли общие библиотеки C ++, которые упрощают этот тип вещей?

Я относительно новичок в C ++ и очень новичок в Qt, поэтому, пожалуйста, попытайтесь уточнить. Пожалуйста, не говорите просто «Use Shared Memory» или что-то в этом роде, потому что я точно не пойму, о чем вы говорите.

Программа НЕ будет запускаться на отдельном компьютере, поэтому здесь нет необходимости в сетевых вещах Я не думаю.

Некоторые вопросы, о которых я думал:

  1. Что делать, если у пользователя одновременно открыто несколько копий стороннего программного обеспечения. Как мое автономное программное обеспечение узнает, с каким из них взаимодействовать?

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

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

Любая помощь будет принята с благодарностью. Я сделал поиск по теме на SO, но не нашел много вопросов конкретно для C ++, и на большинство из них не было много ответов, или они были не очень ясны или не были » t, в частности, относится к программному взаимодействию с плагином для сторонней программы.

7
задан Jake Wilson 30 April 2011 в 03:00
поделиться