C#檢測應用程序重複啓動----函數檢測(能夠在多用戶登陸狀況下檢測)

上文是在網上找的檢測程序重複運行的類,可是感受不是很好用,並且還使用了API,彷佛徹底沒有必要,因而晚上本身寫了一個函數,通過測試,在多用戶下仍然能夠檢測到程序的屢次運行。固然,若是程序改了名字仍是能夠再次運行,不過這種方式只怕沒有什麼太好的辦法來,除非是在.NET環境或註冊表中寫入一些標誌,但彷佛也沒有必要。函數

        if (AppInstance())
        {
            MessageBox.Show("警告:程序正在運行中! 請不要重複打開程序!", "系統提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            return;
        }
        public static bool AppInstance()
        {
            Process[] MyProcesses = Process.GetProcesses();
            int i = 0;
            foreach (Process MyProcess in MyProcesses)
            {
                if (MyProcess.ProcessName == Process.GetCurrentProcess().ProcessName)
                {
                    i++;
                }
            }
            return (i > 1) ? true : false;
        }

其實就在是進程中檢查進程名,若是多於一個,則返回TRUE測試

出處:http://blog.csdn.net/lanman/article/details/3655972spa

相關文章
相關標籤/搜索