zoukankan      html  css  js  c++  java
  • 禁止WinForm程序开启多次

    static Mutex vMyMutex;

    static void Main

    {

    bool vF;
                vMyMutex = new Mutex(true, "Transactions", out vF);   // xxxxxx 是自己取的名稱
                if (!vF)
                {                                                                   // 表示已經有同名的 Mutex
                    vMyMutex.Close();
                    vMyMutex = null;
                    MessageBox.Show("该程式已开启,不可以开启多个相同的程式.", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }

                Application.ApplicationExit += OnApplicationExit;

    }

    static void OnApplicationExit(object sender, EventArgs e)
            {
                if (vMyMutex != null)
                {

                    try
                    {
                        vMyMutex.ReleaseMutex();// 釋放 Mutex
                        vMyMutex.Close();
                    }
                    catch (Exception ex)
                    {
                        MyLog vMyLog = new MyLog();
                        vMyLog.WriteLog(ex.Message);
                    }
                }
            }

            public static void ApplicationExit()
            {
                for (int i = 0; i < vFormArrayList.Count; i++)
                {
                    ((Form)vFormArrayList[i]).Close();
                }
                Application.DoEvents();
                Application.ExitThread();
            }

  • 相关阅读:
    二叉树的常用操作(节点的后继节点)
    二叉树的常用操作(节点的后继节点)
    数据结构实现时所需的成员变量、标准对外接口
    数据结构实现时所需的成员变量、标准对外接口
    标准模板库(STL) map —— 初始化问题
    标准模板库(STL) map —— 初始化问题
    递归与尾递归
    递归与尾递归
    编程常见处理逻辑
    编程常见处理逻辑
  • 原文地址:https://www.cnblogs.com/jacker1979/p/1689626.html
Copyright © 2011-2022 走看看