zoukankan      html  css  js  c++  java
  • WinForm——程序单例运行

    在某些特定的场合下,可能需要程序只运行一个实例,又称单例运行。

    usingSystem.Windows.Forms;

    usingMicrosoft.VisualBasic.ApplicationServices;

    public class Program : WindowsFormsApplicationBase

        {

            frmMain main = null;

            /// <summary>

            /// 应用程序的主入口点。

            /// </summary>

            [STAThread]

            static void Main(string[] args)

            {

                Application.EnableVisualStyles();

                Application.SetCompatibleTextRenderingDefault(false);

                //Application.Run(new frmMain());

                Program program = new Program();

                program.Run(args);

            }

            public Program()

            {

                this.IsSingleInstance = true;// 设置为单实例模式

            }

            /// <summary>

            /// 在应用程序启动时运行

            /// </summary>

            /// <param name="eventArgs">包含应用程序的命令行参数,并指示是否应取消应用程序启动。</param>

            /// <returns>指示应用程序是否应继续启动。</returns>

            protected override bool OnStartup(StartupEventArgs eventArgs)

            {

                main = new frmMain();

                Application.Run(main);

                return false;

            }

            /// <summary>

            /// 在单实例应用程序的后续实例启动时运行。

            /// </summary>

            /// <param name="eventArgs">包含后续应用程序实例的命令行参数,并且指示第一个应用程序实例是否应在退出异常处理程序后进入前台。</param>

            protected override void OnStartupNextInstance(StartupNextInstanceEventArgs eventArgs)

            {

                base.OnStartupNextInstance(eventArgs);

                main.Show();    //弹出第一个实例

            }

        }

  • 相关阅读:
    20180929 北京大学 人工智能实践:Tensorflow笔记02
    20180929 北京大学 人工智能实践:Tensorflow笔记01
    YOLOv3学习笔记
    编辑器上传漏洞
    IIS解析漏洞利用
    数据库备份及审查元素进行webshell上传
    burp suite 进行webshell上传
    BUGKU CFT初学之WEB
    CTFbugku--菜鸟初学
    理解PHP中的会话控制
  • 原文地址:https://www.cnblogs.com/liusuqi/p/2873203.html
Copyright © 2011-2022 走看看