I would iterate the all processes
to try to find a running instance of a process :)
Enumerating processes : A practical approach[
^]
(the mutex technique could be not enough exception-secure... :) )
[Edit]
There is a drawback: the user may use a different name for your program, and -also- the user may name another program the same as yours.
Process names are not granted to be unique.
The mutex technique is the only one that has a proper chance.
It can be exception-secure, if you manage the mutex properly.
[/Edit]
[OK]
Process names are not granted to be unique,
but their full-pathed names... :)
[/OK]