I know this way so that i can make sure that 1 instance is running.
But the code you provided does not handle InterProcess Communication.
How do you suggest i send a message from the 2nd instance to the first, to either Show/Activate itself or handle the 2nd one's Command Line Arguments?
The thing is that .Net 2.0 had a namespace System.Running.Remoting.Channels.ipc for this but .Net 3.5 does not anymore because it has provided another way through System.IO.Pipes and Mono does not support Pipes yet. (Dont even know about Remoting since i am not going to build the app on .Net 2.0 either way).
I have just seen the links you provided before your post.
http://www.codeproject.com/KB/cs/CSSIApp.aspx[
^]
This is the Microsoft.VisualBasic Implementation that i already said its not supported by Mono.Net
http://www.codeproject.com/KB/cs/singleinstance.aspx[
^]
This uses P/Invoke from windows dll's. Do you really think these wont cause a problem on Linux machines. I am just asking for a Full Managed solution.