• 单实例 winform zz


    (引用了 Microsoft.VisualBasic.ApplicationServices)
    SingleInstanceApplicationWrapper.cs

    using System.Windows.Forms;
    using Microsoft.VisualBasic.ApplicationServices;
     
    namespace Highflyer
    {
        /// <summary>
        /// 单实例应用程序封装类
        /// </summary>
        public class SingleInstanceApplicationWrapper : WindowsFormsApplicationBase
        {
            private readonly Form mainForm;
     
            public SingleInstanceApplicationWrapper(Form form)
            {
                mainForm = form;
    #if DEBUG
                this.IsSingleInstance = false;
    #endif
    #if RELEASE
                this.IsSingleInstance = true;
    #endif
            }
     
            protected override bool OnStartup(StartupEventArgs e)
            {
                Application.Run(mainForm);
                return false;
            }
     
            protected override void OnStartupNextInstance(StartupNextInstanceEventArgs e)
            {
                // 这里可以把本次使用的参数传给之前的实例,本人在一个WPF 屏幕键盘项目里传送了键盘显示方式(数字、英文、手写)参数
                //e.BringToForeground = true;
                //if (e.CommandLine.Count > 0)
                //{
                //  app.DealArgs(e.CommandLine.ToArray());
                //}
            }
        }
    }
    View Code

    Program.cs

    using System;
    using System.Windows.Forms;
    using Highflyer;
     
    namespace Eparcar.ParkLocal.GateBoxClient
    {
        static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main(string[] args)
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
     
                MainForm mainForm = new MainForm();
                SingleInstanceApplicationWrapper wrapper = new SingleInstanceApplicationWrapper(mainForm);
                wrapper.Run(args);
            }
        }
    }
    View Code
  • 相关阅读:
    【C#进阶系列】06 类型和成员基础
    纪中5日T1 1564. 旅游
    纪中17日T1 2321. 方程
    纪中17日T2 2322. capacitor
    纪中10日T1 2313. 动态仙人掌
    纪中14日听课小结 图论 最短路 二分图 差分约束
    一个抓猫的游戏 消遣GAME 持续更新中!
    洛谷P1464 Function  HDU P1579 Function Run Fun
    洛谷P1976 鸡蛋饼
    纪中12日T1 2307. 选择
  • 原文地址:https://www.cnblogs.com/zeroone/p/3371451.html
Copyright © 2020-2023  润新知