A very thorough treatment of the whole subject can be found
here[
^] in an article by Jeff Prosise (who I have a great deal of respect for). The article is a bit old but the answers are still relevant.
If you are using VS2008 or greater, you can apparently go to the project properties and check the box "Make single instance application" (I haven't tried it but it is described
here[
^]).