It doesn't matter if the code is in a DLL or an EXE inside the processes. The important thing is that you have two processes that have to communicate with each other. I assume that the communication doesn't have to use async message passing (
Message passing, i.e.: both processes are running when the communication has to be performed.
In this case you have to choose and use an IPC mechanism:
Windows Interprocess Communications
The two most basic communication methods from the listed windows IPC mechanisms are pipes and sockets.
My personal favorite is sockets because:
- Its easy to port to any platform
- Easy to run the processes on separate machines and communciation code is still the same
- Easy to use it between programs written in different languages
- loopback communication (when both endpoints are on the same machine) is optimized on all major platforms so using sockets locally is as effective as using pipes