One way I found on my own was trapping the Win API messages for the different executable program windows, but this solution has turned out to be fraught with danger, unreliable over a period of months, and very difficult to debug due to the nature of the crashes (Crashing VB6 and WinXP). I was warned by the big brain guys on this board that using the WinAPI would probably result in this type of outcome anyway, so I wasn't surprised at this expected and predicted bad outcome.

We did find a product that worked and it wasn't to expensive. It is called BeWise from a company called Edelwise [ http://www.edelwise.com/ ]. You can declare different types of variables inside VB 6.0 executable program, and those same variables are available within another VB 6.0 program running on the same computer. So when one program changes the value of the variable, the other program knows to take some action based upon the value of that variable. Then it changes another variable to signal back feedback from what it was requested to perform.

We have been using this system with simple integer variables to allow three programs to communicate together in a simple manner and the reliability seems very high at this time.

Our method of communication is simple: Program 1 is the Master, Program 2 and 3 are slaved. Program 2 only responds to one variable and only signals back two status conditions. Program 3 responds to 6 commands 55, 56, 57, 58, 59, and 60 and it signals back 7 status conditions 100, 101, 102, 103, etc...

This bewise product has a lot of other capability besides just sharing integer variables between programs, but that is all we use so far....I'm very pleased with this solution for Inter-Process Communication. I'd be interested to hear from anyone else who uses this and how they made out.