zoukankan      html  css  js  c++  java
  • WPF 设置程序不允许多开

    同一时刻只允许运行一个实例

    方法一、通过查找同程序集名称的进程数量

    
                #region 检测
    
                string MName = System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName;
                string PName = System.IO.Path.GetFileNameWithoutExtension(MName);
                System.Diagnostics.Process[] myProcess = System.Diagnostics.Process.GetProcessesByName(PName);
    
                if (myProcess.Length > 1)
                {
                    MessageBox.Show("本程序一次只能运行一个实例!", "提示");
                    Application.Current.Shutdown();
                    return;
                }
    
                #endregion

    方法二、通过互斥属性查找同名的线程

    1)写在App.xaml里

    2)代码如下:

            private static System.Threading.Mutex mutex;
            //系统能够识别有名称的互斥,因此可以使用它禁止应用程序启动两次 
            //第二个参数可以设置为产品的名称:Application.ProductName 
            // 每次启动应用程序,都会验证名称为OnlyRun的互斥是否存在 
            protected override void OnStartup(StartupEventArgs e)
            {
                mutex = new System.Threading.Mutex(true, "OnlyRun");
                if (mutex.WaitOne(0, false))
                {
                    base.OnStartup(e);
                }
                else
                {
                    MessageBox.Show("程序已经在运行!", "提示");
                    this.Shutdown();
                }
            }

    WPF 设置程序只能开启唯一一个进程 不允许多开

    修改App.xaml.cs 代码 添加如下代码即可实现

    • private static System.Threading.Mutex IMutex;
    • protected override void OnStartup(StartupEventArgs e)
    • {
    • string MyAppID="OnlyRun_App";//运行进程互斥标识名称 可自行修改
    • IMutex= new System.Threading.Mutex(true, MyAppID);
    • if (IMutex.WaitOne(0, false))
    • {
    • ///正常启动程序
    • base.OnStartup(e);
    • }else{
    • MessageBox.Show("程序已经在运行!", "提示",MessageBoxButton.OK,MessageBoxImage.Asterisk);
    • this.Shutdown();//已存在运行进程 执行关闭
    • }
    • }
  • 相关阅读:
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    FM
    GBDT+LR
    推荐系统架构设计
    DSSM双塔模型
    git
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/15127799.html
Copyright © 2011-2022 走看看