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

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

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

во время открытия приложения оно должно проверить запущена другая копия или нет, если да то выход.Одним словом что бы приложение нельзя было запустить несколько раз только один.Как проверить запущено приложение уже или нет ?

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

textual
Листинг программы
static class Program
    {
        /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Process pr = RI();
            if (pr != null)
                MessageBox.Show("Приложение уже запущено!!!", "Дупликат!!!");
            else
                Application.Run(new Form1());
        }
 
        public static Process RI()
        {
            Process current = Process.GetCurrentProcess();
            Process[] pr = Process.GetProcessesByName(current.ProcessName);
            foreach (Process i in pr)
            {
                if (i.Id != current.Id)
                {
                    if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName)
                    {
                        return i;
                    }
                }
            }
            return null;
        }
    }

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


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

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

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