I have an MDI Windows Forms application (.net 2008) that allows the user to associate various file types with the application. I currently do this with a registry entry somethin
Well ideally, you could use regular file association techniques (doc), along with some form of inter-process communication to organize how your program handles subsequent launches.
For instance, when your program starts, check if another instance is already open. If so, pass any parameter data to the existing instance, and quit. The existing instance then handles the data appropriately.
Here (link) is a good SO answer to get you started with that.