C# 防止程式重復執行

from http://wallacenotebook.blogspot.com/2014/11/c_29.html

//取得此process的名稱
String name = Process.GetCurrentProcess().ProcessName;
//取得所有與目前process名稱相同的process
Process[] ps = Process.GetProcessesByName(name);
//ps.Length > 1 表示此proces以重複執行
if (ps.Length > 1)
{
    System.Environment.Exit(2);
}





            Process[] procs = Process.GetProcesses();

            int iCnt = 0;
            foreach (Process proc in procs)
            {
                if (proc.ProcessName == "programName")
                {
                    iCnt++;
                }
            }

            if (iCnt > 1)
            {
                MessageBox.Show("程式執行中!!");
                Environment.Exit(0);
            }


留言

熱門文章