zoukankan      html  css  js  c++  java
  • 单实例 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
  • 相关阅读:
    sparksql解析流程
    推荐算法简介:基于用户的协同过滤、基于物品的协同过滤、基于内容的推荐
    数据中台
    拉链表
    大数据去重与布隆过滤器
    推荐算法简介
    java获取resources文件夹中文件的路径
    Flink中设置事件时间
    [转载]REDIS缓存穿透,缓存击穿,缓存雪崩原因+解决方案
    使用Gson或者jackson代替Fastjson
  • 原文地址:https://www.cnblogs.com/zeroone/p/3371451.html
Copyright © 2011-2022 走看看