判断程序是否已启动

来源:互联网 发布:sql 除后求和 编辑:程序博客网 时间:2024/06/05 16:27
方法1:using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;using System.Diagnostics;namespace MonitorHardDisk{    static class Program    {        private static System.Threading.Mutex mutex;        /// <summary>        /// 应用程序的主入口点。        /// </summary>        [STAThread]        static void Main()        {            Application.EnableVisualStyles();            Application.SetCompatibleTextRenderingDefault(false);            mutex = new System.Threading.Mutex(true, "OnlyRun");            if (mutex.WaitOne(0, false))            {                Application.Run(new Form1());            }            else            {                MessageBox.Show("程序已经在运行!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);                Application.Exit();            }        }    }}方法2:            #region 禁止多进程启动控制            bool b;            Mutex m = new Mutex(true, "PharmeyesDDIWinUIThreadCs", out b);            int i = 0;            foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses())            {                if ("Pharmeyes.DDI.WinUI".ToLower().Equals(p.ProcessName.ToString().ToLower()))                {                    i++;                }            }            if (!b || i > 1)            {                log.Info(string.Format("程序在系统进程中已存在!...................................."));                return;            }            #endregion


0 0