C++ Comment faire de deux programmes de communiquer?

Question: Quelle est la meilleure façon de faire deux programmes en cours d'exécution sur le même ordinateur) de communiquer et d'interagir? (Windows, C++)

Situation théorique:

  1. Sur un PC Windows, j'ai un 3ème partie logiciel que vous utilisez pour faire des trucs (comme ouvrir/éditer/enregistrer les fichiers...c'est pas vraiment important). Cette 3ème partie logiciel dispose d'une C++ SDK de sorte que vous pouvez développer des plugins pour elle.
  2. Je développe un distinct autonome Windows programme en C++ (la plus probable à l'aide de Qt) avec une interface graphique. Ce programme est conçu pour s'exécuter sur le même ordinateur Windows comme la 3ème partie logiciel. Ce programme pourrait agir comme un télécommande ou de l'expéditeur.
  3. À l'aide de la 3ème partie du logiciel SDK, je développe un petit plugin pour la 3ème partie logiciel. Ce programme agit comme un récepteur, de sorte que mon Qt GUI peut envoyer des commandes que ce plugin serait de recevoir et donc de contrôle à distance de la 3ème partie logiciel de.

Donc, pour un exemple de base, je pouvais appuyer sur un bouton sur mon autonome GUI qui permettrait de communiquer avec le plugin qui serait alors ouvrir un fichier spécifié dans la 3ème partie logiciel.

Ce que je suis essentiellement à la recherche est de développer un logiciel autonome qui permettrait de communiquer dans les deux sens avec un plugin que je vais développer pour la 3ème partie logiciel.

Quelle est la meilleure approche? Je n'ai vraiment aucune idée par où commencer ou quoi regarder. Sont commun des bibliothèques C++ qui font ce genre de chose facile?

Je suis relativement novice en C++ et très nouveau pour Qt, donc s'il vous plaît essayer de préciser. Merci de ne pas juste dire "Utiliser la Mémoire Partagée" ou quelque chose comme ça parce que je ne vais pas savoir exactement de quoi vous parlez.

Le programme ne serait PAS exécuté sur un ordinateur distinct, donc pas d'autres choses réseau est nécessaire ici, je ne pense pas que.

Quelques questions que je pensais:

  1. Que si l'utilisateur a plusieurs copies de la 3e partie des logiciels ouverts en même temps. Comment est-ce que mon logiciel autonome, savoir où l'on pour communiquer avec?
  2. Si j'ai déjà ma version autonome du logiciel en cours d'exécution et ouvrir la 3ème partie logiciel, ne le plugin en quelque sorte avoir à vous inscrire ou trouver mon logiciel autonome de communiquer avec elle?
  3. Si j'ai déjà la 3ème partie logiciel en cours d'exécution, puis ouvrir mon logiciel autonome, est-il nécessaire de rechercher le plugin pour voir si elle fonctionne ou comment elle fait pour trouver?

Toute aide serait grandement appréciée. J'ai fait une recherche sur le sujet mais n'ai pas vu beaucoup de questions pour C++ spécifiquement et la plupart d'entre eux n'ont pas beaucoup de réponses ou n'étaient pas très claires, ou n'ont pas spécifiquement référence à des logiciels de communication avec un plugin pour un 3e programme du parti.

OriginalL'auteur Jake Wilson | 2011-04-30