zoukankan      html  css  js  c++  java
  • C# Winform防止一个程序重复运行

    1:

    //在写一些服务型的软件的时候,你可能不希望一个操作系统里有两个副本在运行,这样也许会扰乱你的操作。这时,你就需要限制程序的副本。下面的这个方法,很简单的就可以实现上述功能。
    
    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;
    using System.Diagnostics;
    
    namespace TestProcessCount
    {
        static class Program
        {
            /// <summary>
            /// The main entry point for the application.
            /// </summary>
            [STAThread]
            static void Main()
            {
                int processCount = 0;
                Process[] pa = Process.GetProcesses();//获取当前进程数组。
                foreach (Process PTest in pa)
                {
                    if (PTest.ProcessName == Process.GetCurrentProcess().ProcessName)
                    {
                        processCount += 1;
                    }
                }
                if (processCount > 1)
                {
                    //如果程序已经运行,则给出提示。并退出本进程。
                    DialogResult dr;
                    dr = MessageBox.Show( Process.GetCurrentProcess().ProcessName+"程序已经在运行!", "退出程序", MessageBoxButtons.OK, MessageBoxIcon.Error);//可能你不需要弹出窗口,在这里可以屏蔽掉
                    return; //Exit;
                  
                }
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new frmBrowser());
            }
        }
    }

    2:

                  //保证同时只有一个客户端在运行   
                //System.Threading.Mutex mutexMyapplication = new System.Threading.Mutex(false, "OnePorcess.exe");
                //if (!mutexMyapplication.WaitOne(100, false))
                //{
                //    MessageBox.Show("程序" + Application.ProductName + "已经运行!", Application.ProductName,
                //    MessageBoxButtons.OK, MessageBoxIcon.Error);
                //    return;
                //}
  • 相关阅读:
    Java反射中Class.forName与classLoader的区别
    Java各种成员初始化顺序
    crontab python脚本不执行
    Java mybatis缓存(转)
    Java Synchronized及实现原理
    JVM类加载器
    SSH掉线问题
    SSH登陆远程卡、慢的解决的办法
    shell脚本执行python脚本时,python如何将返回值传给shell脚本
    使用scrapy进行数据爬取
  • 原文地址:https://www.cnblogs.com/zhayunjia/p/6256430.html
Copyright © 2011-2022 走看看