• 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
        }



  • 相关阅读:
    多GPU模型转换到cpu上
    Ubuntu18.04安装electron
    Windows Server 2016 关闭windows defender service服务
    k8s整合Traefik2入门(一) 天宇轩
    ElasticSearch7集群+Keepalived 天宇轩
    kubernetes 高可用集群搭建 天宇轩
    开源软件下载地址
    Qt QStackedLayout
    显微镜调试及使用方法
    对模式的十大误解
  • 原文地址:https://www.cnblogs.com/kevinzhwl/p/1756912.html
Copyright © 2020-2023  润新知