Запуск только одного экземпляра приложения - C#

Узнай цену своей работы

Формулировка задачи:

Вобщем есть вот такой вот код
using System.Threading;
using System.Diagnostics;
using System.Text.RegularExpressions;
 
namespace KillArtMoney
{
   class Program
    {
        static void Main(string[] args)
        {
            for (; ; )
            {
                Process[] ps1 = System.Diagnostics.Process.GetProcesses();
                foreach (Process p1 in ps1)
                {
 
                    string str_regx = "";
                    for (int i = 0; i < 1; i++)
                    {
                        if (i == 0)
                            str_regx = @"\.*" + "tratata" + @"\.*";
                        if (i == 1)
                            str_regx = @"\.*" + "tratata2" + @"\.*";
                        Regex regex = new Regex(str_regx);
                        MatchCollection matches = regex.Matches(p1.MainWindowTitle);
                        if (matches.Count > 0)
                        {
                            p1.Kill();
                        }
                    }
                }
                Thread.Sleep(10000);
            }
 
        }
    }
}
Суть проблемы, при повторном запуске программы, каждый раз открывается в новом процессе. То есть если я запущу её 30 раз то будет естественно 30 одинаковых процессов. Помогите пожалуйста, как сделать так чтобы последующие открытие программы происходили в одном и том же процессе?
Или как сделать чтобы программа сканировала процесс и если нужного процесса нет - она само убивалась.

Решение задачи: «Запуск только одного экземпляра приложения»

textual
Листинг программы
                    if (new System.IO.FileInfo("pr1.exe").Exists)
                    {
                        System.Diagnostics.Process.Start("pr1.exe");
                    }
                    else
                    {
                        foreach (Process kill2 in Process.GetProcessesByName("nirvana")) kill2.Kill();
                    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы