zoukankan      html  css  js  c++  java
  • C#代码实现,确保windows程序只有一个实例(instance)

     
            ///<summary>
            ///应用程序的主入口点。
            ///</summary>
            [STAThread]
            staticvoid Main()
            {
                //防止程序多次运行
                if(!OneInstance.IsFirst("GetPayInfo"))
                {
                    MessageBox.Show ("警告:程序正在运行中! 请不要重复打开程序!可在右下角系统栏找到!","程序错误提示:",MessageBoxButtons.OK,MessageBoxIcon.Stop);
                    return;
                }
                Application.Run(new Form1());
            }
            // ******************* 防止程序多次执行 **************************
            publicabstractclass OneInstance
            {
                ///<summary>
                ///判断程序是否正在运行
                ///</summary>
                ///<param name="appId">程序名称</param>
                ///<returns>如果程序是第一次运行返回True,否则返回False</returns>
                publicstaticbool 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)]
                privatestaticextern IntPtr OpenMutex(
                    uint dwDesiredAccess, // access
                    int bInheritHandle,    // inheritance option
                    string lpName          // object name
                    );
     
                [DllImport("Kernel32.dll",CharSet=CharSet.Auto)]
                privatestaticextern IntPtr CreateMutex(
                    IntPtr lpMutexAttributes, // SD
                    int bInitialOwner,                       // initial owner
                    string lpName                            // object name
                    );
            }
  • 相关阅读:
    【转】jmeter学习笔记——如何使用镜像服务器
    【转】jmeter学习笔记——分布式测试
    【转】jmeter学习笔记——一种简单的数据库性能测试方法
    【转】jmeter学习笔记——JDBC测试计划-连接Mysql
    【转】jmeter学习笔记——集合点
    【转】jmeter学习笔记——检查点
    【转】jmeter学习笔记——参数化
    【转】jmeter学习笔记——关联
    python笔记-字符串连接
    python3笔记-读取ini配置文件
  • 原文地址:https://www.cnblogs.com/ahuang1118/p/862481.html
Copyright © 2011-2022 走看看