http://codenicely.blogspot.com/2010/04/creating-forms-object.html

я есть приложение Windows Forms, которое позволяет одновременно запускать только один экземпляр. Я реализовал синглтон с помощью Mutex. Приложение должно запускаться из командной строки (с параметрами или без них). Приложение запускается и закрывается скриптом. Пользователь не может предпринимать никаких действий с ним.

Итак, целью приложения является простое «индикаторное» приложение, которое будет просто отображать некоторую визуальную и графическую информацию для конечного пользователя. Конечный пользователь не может ничего с этим поделать, просто посмотрите. Это приложение Windows Forms, потому что тогда визуальное и графическое оформление относительно легко реализовать (вы можете получить его сверху, без полей и т. Д.).

Проще говоря: как выйти из текущего запущенного приложения, когда кто-то пытается запустить то же приложение с параметром командной строки exit?

bool quit = (args.Length > 0 && args[0] == "quit") ? true : false;
using (Mutex mutex = new Mutex(false, sExeName))
{
    if (!mutex.WaitOne(0, true)) 
    {
        if (quit)
        {
            // This is the tricky part?
            // How can I get reference to "previous" launced 
            // Windows Forms application and call it's Exit() method.
        }
    } 
    else 
    {
        if (!quit)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос