代码改变世界

两种方法,阻止一个程序运行两次。

2012-12-25 13:02  小耳  阅读(457)  评论(0编辑  收藏  举报

    Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            System.Threading.Mutex mutex = new Mutex(true, "一个");
            //保证只有一个实例运行
            if (mutex.WaitOne(0, false))
            {
                Application.Run(new Form1());
            }
            else
            {
                MessageBox.Show("dfsdf");
            }

 

 

、、===============================================================================

            bool ret;
            System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out ret);
            if (ret)
            {
                Application.EnableVisualStyles();   //这两行实现   XP   可视风格   
                Application.DoEvents();
                //   Main   为你程序的主窗体,如果是控制台程序不用这句
                Application.Run(new Form());
                mutex.ReleaseMutex();
            }
            else
            {
                MessageBox.Show(null, "有一个和本程序相同的应用程序已经在运行,请不要同时运行多个本程序。/n/n这个程序即将退出。", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Application.Exit();//退出程序  

            }