Note that there are some explanatory texts on larger screens.

plurals
  1. POC++ How to make two programs communicate?
    primarykey
    data
    text
    <p>Question: <em>What is the best way to make two programs (both running on the same computer) communicate and interact? (Windows, C++)</em></p> <p>Theoretical situation:</p> <ol> <li><p>On a Windows PC, I have a <strong>3rd party software</strong> that you use to do stuff (like open/edit/save files...it's not really important). This <strong>3rd party software</strong> has an available <strong>C++ SDK</strong> so you can develop plugins for it.</p></li> <li><p>I develop a separate <strong>standalone</strong> Windows C++ program (most likely using Qt) with a GUI. This program is made to run on the same Windows computer as the 3rd party software. This program would act as a <strong>remote control</strong> or sender.</p></li> <li><p>Using the 3rd party software's SDK, I develop a tiny <strong>plugin</strong> for the <strong>3rd party software</strong>. This program acts as a receiver, so that my Qt GUI can send commands that this plugin would receive and thus <em>remote control the 3rd party software accordingly</em>.</p></li> </ol> <p>So for a basic example, I could press a button on my standalone GUI that would communicate with the plugin that would then open a specified file in the 3rd party software. </p> <p>What I'm essentially looking for is to develop standalone software that would communicate back and forth with a plugin that I would develop for the 3rd party software.</p> <p>What is the best approach to this? I really have no clue where to start or what to look at. Are there common C++ libraries that make this type of thing easy?</p> <p>I'm relatively new to C++ and very new to Qt, so please try to elaborate. Please don't just say "Use Shared Memory" or something like that cause I'm not gonna know exactly what you are talking about.</p> <p>The program would NOT be run on a separate computer, so no network stuff is necessary here I don't think.</p> <p>Some questions I was thinking about:</p> <ol> <li><p>What if user has multiple copies of 3rd party software open at the same time. How does my standalone software know which one to communicate with?</p></li> <li><p>If I already have my standalone software running and open the 3rd party software, does the plugin somehow have to register or find my standalone software to communicate with it?</p></li> <li><p>If I already have the 3rd party software running and then open my standalone software does it have to scan for the plugin to see if its running or how does it find it?</p></li> </ol> <p>Any help would be greatly appreciated. I've done a search on the topic on SO but didn't see many questions for C++ specifically and most of them didn't have many answers or weren't very clear or didn't specifically refer to software communication with a plugin for a 3rd party program.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload