Bonifats
@Bonifats
Начинающий программист

Как запретить повторный вызов стороннего exe?

Всем доброго дня!

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

Вызываю я так:
Process.Start("Project1.exe");

Спасибо!
  • Вопрос задан
  • 187 просмотров
Решения вопроса 1
Bonifats
@Bonifats Автор вопроса
Начинающий программист
Так получилось:

Process[] processlist = Process.GetProcesses();
bool found = processlist.All(p => p.ProcessName.Contains("Project1") == false);
if (found)
Process.Start("Project1.exe");

Спасибо! :)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos
Перед стартом процесса проверять список всех процессов на наличие запускаемого.
Ответ написан
Комментировать
w1ld
@w1ld
Программирую
Запретить самому себе можно так:
using System.Diagnostics;

// где-то в программе:
Process[] processlist = Process.GetProcesses();
bool found = processlist.SingleOrDefault(p => p.ProcessName.Contains("Project1")) != null;
if(!found)	Process.Start("Project1.exe");

А вот другим запретить, думаю, можно, переименовав или переместив программу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы