WPF笔记9——设置应用程序单实例运行

设置WPF应用程序单实例运行

**方式1:**


    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        /// <summary>
        /// 程序启动
        /// </summary>
        /// <param name="e"></param>
        protected override void OnStartup(StartupEventArgs e)
        {
            string currentProcessName = Process.GetCurrentProcess().ProcessName;

            //获取当前的所有同名进程
            var processes=Process.GetProcessesByName(currentProcessName);
             
            if (processes.Length > 1)
            {
                MessageBox.Show($"{currentProcessName}已经在运行了,不能重复打开");

                //关闭程序
                Shutdown();
                return;
            }

            base.OnStartup(e);
        }


        /// <summary>
        /// 程序退出
        /// </summary>
        /// <param name="e"></param>
        protected override void OnExit(ExitEventArgs e)
        { 
            /* 在这里释放资源  */ 

            base.OnExit(e);
        }
    }
posted @ 2024-12-05 11:38  青云Zeo  阅读(8)  评论(0编辑  收藏  举报