I can think of two simple ways to do this:
1) use the Tools API and look at the running processes
- count the ones that have the same .exe
(the problem with this is no notification - the first
one doesn't know about the last one)
2) try to listen on some TCP port -
If you can't - (some one else is already listening)
then connect to it
(this way, the first one becomes the server
and the others become the clients)
This works until the first one shuts down.

