I have always been fascinated by processes talking with each other. Here are the major components I know:
- shared memory
- key simulation
- Yes, I have seen this really in my career as a consultant - a program that simulated keypresses to control another program.
- One process opens a socket, another process attaches to it.