xecute uma única instância de um aplicativo usando o Mutex

Para permitir apenas uma única instância de um aplicativo em execução, estou usando o mutex. O código é dado abaixo. Esse é o jeito certo de fazer? Existem falhas no código?

Como mostrar o aplicativo já em execução quando o usuário tenta abrir o aplicativo pela segunda vez. No momento (no código abaixo), estou apenas exibindo uma mensagem de que outra instância já está em execução.

    static void Main(string[] args)
    {
        Mutex _mut = null;

        try
        {
            _mut = Mutex.OpenExisting(AppDomain.CurrentDomain.FriendlyName);
        }
        catch
        {
             //handler to be written
        }

        if (_mut == null)
        {
            _mut = new Mutex(false, AppDomain.CurrentDomain.FriendlyName);
        }
        else
        {
            _mut.Close();
            MessageBox.Show("Instance already running");

        }            
    }

questionAnswers(7)

yourAnswerToTheQuestion