• C#控制一个应用程序只能有一个实例运行


    using System;
    using System.Threading;
    
    class MutexSample
    {
        private static Mutex mutex = null;  //设为Static成员,是为了在整个程序生命周期内持有Mutex
    
        static void Main()
        {
            bool firstInstance;
           
            mutex = new Mutex(true, @"GlobalMutexSampleApp", out firstInstance);
            try
            {
                if (!firstInstance)
                {
                    Console.WriteLine ("已有实例运行,输入回车退出……");
                    Console.ReadLine();
                    return;
                }
                else
                {
                    Console.WriteLine ("我们是第一个实例!");
                    for (int i=60; i > 0; --i)
                    {
                        Console.WriteLine (i);
                        Thread.Sleep(1000);
                    }
                }
            }
            finally
            {
                //只有第一个实例获得控制权,因此只有在这种情况下才需要ReleaseMutex,否则会引发异常。
                if (firstInstance)
                {
                    mutex.ReleaseMutex();
                }
                mutex.Close();
                mutex = null;
            }
        }
    }
    

      

  • 相关阅读:
    按回车键提交表单
    Access数据库类型及属性
    Problem 1002
    问题 1003
    Problem 1003
    Switch Game(摘自LP学C++)
    1006
    膜拜蛇形矩阵
    A == B?
    Rectangles
  • 原文地址:https://www.cnblogs.com/zhijiangch/p/15133508.html
Copyright © 2020-2023  润新知