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

  • 相关阅读:
    HTML_表单
    HTML_列表、表格与媒体元素
    HTML_HTML5基础
    使用java理解程序逻辑 试题分析
    字符串
    带参数的方法
    人机猜拳
    类的无参方法
    类和对象
    vue cli+axios踩坑记录+拦截器使用,代理跨域proxy(更新)
  • 原文地址:https://www.cnblogs.com/mq0036/p/4138461.html
Copyright © 2011-2022 走看看