You will need to create some sort of feeder object that all the Exe's talk to, and your app has a single reference to.

The feeder object has subs that match the events that the exe's will raise. the exe's, instead of rainsing the event, call the feeder objects event sub, and the feeder object then raises the event out to the controlling program. The active exe will need to know about the feeder object - you will have to pass a reference to the feeder object to the active exe whenever one is instatiated (like a paretn refernce so to speak). This way the exe knows where to call the evetn sub, which in turn raises the event out to the calling sub. Each exe will require a unique key, which needs to be passed out through te feeder objects evetns, and you program then interoprets the events, and knows which Exe raised that event based on the key.

Hope that makes sense - it's a bit of a complex concept

- gaffa