winform程序限制多开以及FromMian 为主线程思路

来源:互联网 发布:淘宝皮草品牌 编辑:程序博客网 时间:2024/04/30 05:07
  1. /// <summary>  
  2.         /// 应用程序的主入口点。  
  3.         /// </summary>  
  4.         [STAThread]  
  5.         static void Main()  
  6.         {  
  7.             Application.EnableVisualStyles();  
  8.             Application.SetCompatibleTextRenderingDefault(false);  
  9.             //Application.Run(new Form1());  
  10.   
  11.             bool createdNew;//返回是否赋予了使用线程的互斥体初始所属权     
  12.             System.Threading.Mutex instance = new System.Threading.Mutex(true"MutexName"out createdNew); //同步基元变量     
  13.             if (createdNew) //赋予了线程初始所属权,也就是首次使用互斥体     
  14.             {   // 显示登录窗体 
                    FrmLogin frmLogin = new FrmLogin();
                    DialogResult dialogResult = frmLogin.ShowDialog();
                    if (dialogResult == DialogResult.OK)
                    {  
                            Application.Run(new FrmMain());
                            instance.ReleaseMutex();
                    }
                    else
                    {
                        Application.Exit();
                    }
  15.             }  
  16.             else  
  17.             {  
  18.                 MessageBox.Show("已经启动了一个程序,请先退出!""系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);  
  19.                 Application.Exit();  
  20.             }     
  21.         } 
0 0