Как запустить программу одного процесса и только одного имени? - PullRequest
0 голосов
/ 29 октября 2009

Я создаю какой-то проект, но когда запускаю приложение. Как запустить это приложение только один процесс и назвать только одно имя «test.exe»? когда обед приложение? C # 2.0

Ответы [ 2 ]

1 голос
/ 29 октября 2009

Вот пример проекта, который выглядит многообещающе: http://www.codeproject.com/KB/cs/SingleInstanceAppMutex.aspx

Я цитирую цели здесь:

Цель № 1: предотвратить второй экземпляр с открытия

Цель № 2: активировать первый экземпляр

Цель № 3. Если первый экземпляр Свернут в системный трей (он же "Область уведомлений"), восстановить ее

0 голосов
/ 29 октября 2009

Опять же, не совсем уверен, для чего вы собираетесь, но моя интерпретация:

Если вы хотите обеспечить одновременную работу только одного экземпляра вашего процесса, вставьте следующий код в начало основного метода (в Program.cs).

if (Process.GetProcessesByName (Process.GetCurrentProcess().ProcessName).Length > 1)
{

    //instance of the process already active, exit
    return;

}

Вам нужно будет указать using System.Diagnostics в начале вашего файла.

Обратите внимание, что это не идеальное решение, так как если пользователь запускает два экземпляра процесса в одно и то же время, они оба, вероятно, закроются.

...