Du kannst alle
IPC-Mechanismen, die es unter Windows gibt, benutzen, mit ausnahme von WM_COPYDATA.
Soll das Kontrollprogramm auch auf einem anderen Rechner im Netzwerk laufen, bleiben Sockets, Names Pipes und Mailslots. Willst du
OS-unabhängig sein, bleiben nur noch Sockets.
Bei einem lokalen Kontrollprogramm kannst du neben den obengenannten noch Shared Memory verwenden. Der hat den Vorteil, dass er extrem performant ist, aber der Implementationsaufwand ist recht hoch.
Das sind so die Möglichkeiten, die du hast. Welche am besten ist, kann man pauschal schlecht sagen, hängt immer vom Einsatzzweck ab.
Ach ja, es gibt noch
COM-Server, aber wie das funktioniert weiß ich nicht ansatzweise. Vielleicht kann da jemand anderes was dazu sagen.