zoukankan      html  css  js  c++  java
  • C#防止程序多次运行

    经过我的测试,还比较好用,但是有个问题,如果不注销,用另一个用户进入,则程序不能判断出已运行。所以只限于用在单用户环境,还是不太完美。

    class Program
        {
            [STAThread]
            static void Main(string[] args)
            {
                //防止程序多次运行
                if (!OneInstance.IsFirst("MyTest"))
                {
                    Console.WriteLine("警告:程序正在运行中! 请不要重复打开程序!可在右下角系统栏找到!");
                    return;
                }
                Console.WriteLine("正在运行中");
                Console.ReadLine();
            }
        }
        public static class OneInstance
        {
            ///<summary>
            ///判断程序是否正在运行 
            ///</summary>
            ///<param name="appId">程序名称</param>
            ///<returns>如果程序是第一次运行返回True,否则返回False</returns>
            public static bool IsFirst(string appId)
            {
                bool ret = false;
                if (OpenMutex(0x1F0001, 0, appId) == IntPtr.Zero)
                {
                    CreateMutex(IntPtr.Zero, 0, appId);
                    ret = true;
                }
                return ret;
            }
            [DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
            private static extern IntPtr OpenMutex(
                uint dwDesiredAccess, // access 
                int bInheritHandle,    // inheritance option 
                string lpName          // object name 
                );
            [DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
            private static extern IntPtr CreateMutex(
                IntPtr lpMutexAttributes, // SD 
                int bInitialOwner,                       // initial owner 
                string lpName                            // object name 
                );
        }

    出处:http://blog.csdn.net/lanman/article/details/3648455

  • 相关阅读:
    一般操作
    node express mongodb 数据录入
    express新版本后app.use(express.bodyParser())无效
    npm adduser报错问题
    01demo-mongodb
    Win32汇编--02必须了解的基础知识
    第17章 本书最后将学习什么呢(需要回头学习)
    第十六章 直接定址表(需要回头学)
    指令系统总结
    第十五章 外中断
  • 原文地址:https://www.cnblogs.com/mq0036/p/4138461.html
Copyright © 2011-2022 走看看