All right, here is my second answer, with more detail for you. I've done some work to generalize my solution I described earlier, to make it customizable and usable with all kinds of interactive applications.
In the meanwhile, you can see full preview source code, complete with UI demo. I hope everything is clear: S.A.Kryukov-SingleApplicationInstance.dotNet.src.zip (11.6 KB).
Later on, I'll write a formal article using this code. If you have some questions before I'm done, I'll try to answer.
[EDIT]
New updated solution is ready, in my new article:
All Three Features of Single-Instance Applications at One Shot, .NET.
Importantly, this solution is different from what I temporarily published. In new version, I seriously took care about its portability. Now it should work correctly (via alternative CLR implementation, first of all, Mono) on non-Microsoft platforms, in particular, based on
UNIX-like OS.
—SA