Запустить одно консольное приложение - PullRequest
1 голос
/ 03 июня 2009

Возможный дубликат: Запуск одного экземпляра приложения с использованием Mutex

Я использую VS 2008 в C # в консольном приложении. Не уверен, существует ли какой-либо доступный класс (процесс?), Чтобы ограничить одновременное выполнение только одного консольного приложения.

Ответы [ 2 ]

3 голосов
/ 03 июня 2009

Нет такого класса, но вы можете использовать System.Threading.Mutex для его создания.

Mutex - это примитив синхронизации, который также может использоваться для межпроцессной синхронизации.

См. Пример: Как обеспечить работу только одного экземпляра приложения?

1 голос
/ 03 июня 2009

Я быстро собрал все это вместе, но он ненадолго показывает вторую консоль, а затем скрывает ее. Не уверен, есть ли способ заблокировать вторую консоль от показа ...

class Program
{
    private static Mutex mutex;

    static void Main(string[] args)
    {
        mutex = new Mutex(true, "MyMutex");
        if (!mutex.WaitOne(0, false))
        {
            return;
        }
        Console.WriteLine("Application started");
        Console.ReadKey(true);

    }
}

Вам нужно будет добавить ссылку на System.Threading.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...