zoukankan      html  css  js  c++  java
  • c#启动单个程序(互斥机制)

        static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {

                try
                {
                    bool ret;
                    System.Threading.Mutex m = new System.Threading.Mutex(true, Application.ProductName, out   ret);
                    if (ret)
                    {

                        Application.EnableVisualStyles();
                        Application.SetCompatibleTextRenderingDefault(false);
                        Application.Run(new FrmMain());
                        m.ReleaseMutex();

                    }
                    else
                    {
                        MessageBox.Show(null, "有一个和本程序相同的应用程序已经在运行,请不要同时运行多个本程序。\n\n这个程序即将退出。", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        // 提示信息,可以删除。
                        System.Diagnostics.Process[] killprocess = System.Diagnostics.Process.GetProcessesByName(Application.ProductName);
                        foreach (System.Diagnostics.Process p in killprocess)
                        {
                            // if p.Id==Application.pro
                            int id = Process.GetCurrentProcess().Id;
                            if (id != p.Id)
                            {
                                p.Kill();
                                p.WaitForExit();
                            }

                        }

                        //Application.Exit();//退出程序  
                        Application.EnableVisualStyles();
                        Application.SetCompatibleTextRenderingDefault(false);
                        Application.Run(new FrmMain());
                        m.ReleaseMutex();

                    }
                }
                catch (Exception exp)
                {
                    MessageBox.Show("程序出现异常,即将关闭,请重新运行"+exp.ToString());
                    System.Environment.Exit(0);
                }

            }//main
        }



  • 相关阅读:
    xcode 快捷键大全、XCode常用快捷键图文介绍
    在ASP.NET Core 2.0 web项目中使用EntityFrameworkCore
    AspNetCore2身份验证
    @addTagHelper的使用
    Asp.net Mvc身份验证
    webAPi OData的使用
    Chrome及Chrome内核浏览器改变开发者工具字体大小
    银行卡号校验
    django静态文件
    django 简单路由配置
  • 原文地址:https://www.cnblogs.com/kevinzhwl/p/1756912.html
Copyright © 2011-2022 走看看