Ejecutar una sola instancia de una aplicación usando Mutex

Para permitir solo una sola instancia de una aplicación en ejecución, estoy usando mutex. El código se da a continuación. ¿Esta es la manera correcta de hacerlo? ¿Hay fallas en el código?

Cómo mostrar la aplicación que ya se está ejecutando cuando el usuario intenta abrir la aplicación por segunda vez. En la actualidad (en el código a continuación), solo estoy mostrando un mensaje de que ya se está ejecutando otra instancia.

    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");

        }            
    }

Respuestas a la pregunta(7)

Su respuesta a la pregunta