C# WinForm中如何讓當前應用程序只允許啟動一個實例


我們在WinForm開發中,很多情況下是需要只允許讓用戶運行一個實例,那么代碼其實很簡單。只需要修改Program.cs文件,代碼如下

 static class Program
    {


        /// <summary>
        /// 應用程序的主入口點。
        /// </summary>
        [STAThread]
        static void Main()
        {
            //Application.EnableVisualStyles();
            //Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new Fm_Login());
            bool noRun;
            //判斷是否已經有需要運行一個實例,如果系統沒有,則運行一個
            using (System.Threading.Mutex m = new System.Threading.Mutex(true, Application.ProductName, out noRun))
            {
                if (noRun)
                {
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Form Login = new Fm_Login();
                    Login.ShowDialog();//顯示登陸窗體  
                    if (Login.DialogResult == DialogResult.OK)
                    {
                        Application.Run(new Fm_main());
                    }//判斷登陸成功時主進程顯示主窗口  
                    else return;
                }
                else {
                    MessageBox.Show("目前已有一個程序在運行,請勿重復運行程序","提示");
                }
            }

        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM