On Windows I would just use a mutex. If it can't get the mutex on startup then it should quit straight away.

If you choose some other solution, make sure it is also one that doesn't end up with...