zoukankan      html  css  js  c++  java
  • 只允许允许一个程序实例,即使是通过虚拟桌面方式连接过来的,也是只允许一个人运行。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;
    using System.Threading ;

    namespace PMS   
    {
        static class Program
        {
            /// <summary>
            /// The main entry point for the application.
            /// </summary>
            [STAThread]
            static void Main()
            {
                //只允许允许一个程序实例,即使是通过虚拟桌面方式连接过来的,也是只允许一个人运行。
                GlobalMutex();

                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new frm_onlineDevices());
            }

            private static Mutex mutex = null;
            private static void GlobalMutex()
            {
                //是否第一次创建mutex
                bool newMutexCreated = false;
                string mutexName = "Global\\" + "PMS";//系统名称,Global为全局,表示即使通过通过虚拟桌面连接过来,也只是允许运行一次
                try
                {
                    mutex = new Mutex(false, mutexName, out newMutexCreated);
                }
                catch (Exception ex)
                {
                    ex.Message.ToString();
                    Thread.Sleep(1000);
                    Environment.Exit(1);
                }
     
                //第一次创建mutex
                if (newMutexCreated)
                {
                }
                else
                {
                    MessageBox.Show("另一个窗体已在运行,不能重复运行。", "系统提示", MessageBoxButtons.OK);
                    Thread.Sleep(1000);
                    Environment.Exit(1);
                }
            }
        }
    }

  • 相关阅读:
    1.8其他命令
    1.7远程管理常用命令
    1.6.系统信息相关命令
    1.5linux用户权限相关命令
    python 进程创建和共享内容的方法
    python 操作数据库
    python 类方法中参数使用默认值的方法
    异常处理
    推导列表
    装饰器 装饰带参数的函数和添加函数
  • 原文地址:https://www.cnblogs.com/wpf123/p/2052907.html
Copyright © 2011-2022 走看看