zoukankan      html  css  js  c++  java
  • C# Mutex to make sure only one unique application instance started

    
    
    static void MutexDemo2()
            {
                string assName = Assembly.GetEntryAssembly().FullName;
                bool createdNew;
                using (var mutex = new Mutex(false, assName, out createdNew))
                {
                    if (!createdNew)
                    {
                        Console.WriteLine("The app in running!");
                        Console.ReadLine();
                    }
                    else
                    {
                        Console.WriteLine("Welcome!");
                        Console.ReadLine();
                    }
                }
            }
    
    
    
    using System;
    using System.Threading.Tasks;
    using System.Reflection;
    using System.Threading;
    using System.Windows.Forms;
    
     static void Main(string[] args)
            {
                MutexDemoBool();
                Console.ReadLine();
            }
    
            static void MutexDemo()
            {
                string assemblyName = Assembly.GetEntryAssembly().FullName;             
                var mutex = new Mutex(false, assemblyName);
    
                if (!mutex.WaitOne(0, true))
                {
                    MessageBox.Show("Unable to run multiple instances of this program.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    Console.WriteLine("Welcome");
                    Console.ReadLine();
                }            
            }
    
            static void MutexDemoBool()
            {
                string assemblyName = Assembly.GetEntryAssembly().FullName;
                bool isFirstInstance;
                var mutex = new Mutex(false, assemblyName,out isFirstInstance);
                if(!isFirstInstance)
                {
                    MessageBox.Show("Unable to run multiple instances of this program.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    Console.WriteLine("Welcome");
                    Console.ReadLine();
                }           
            }
  • 相关阅读:
    jvm 指令 invokedynamic
    go switch
    JVM指令 bytecode invokespecial
    babel插件开发
    go 循环依赖 循环引用 最佳实践
    go module 使用入门
    搞懂gopath golang go go项目结构
    SQL Server 工具
    SQLServer Management Studio登录框中的“服务器名”填写
    win2008下安装SQL SERVER 2005出现IIS功能要求 警告解决方案
  • 原文地址:https://www.cnblogs.com/Fred1987/p/11834297.html
Copyright © 2011-2022 走看看