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
  • 相关阅读:
    网站访问量和服务器带宽的选择
    PHP实现四种基本排序算法
    常用的PHP排序算法以及应用场景
    常见的mysql数据库sql语句的编写和运行结果
    MyBatis拦截器:给参数对象属性赋值
    《自律让你自由》摘要
    Java JDK1.5、1.6、1.7新特性整理(转)
    人人都能做产品经理吗?
    Windows下查询进程、端口
    一语收录(2016-09-18)
  • 原文地址:https://www.cnblogs.com/zeroone/p/3371451.html
Copyright © 2011-2022 走看看