C# winform中已运行的进程,再次双击运行提示用户该进程已运行,请大虾们帮忙!

解决方案 »

  1.   

    判断一下有没这正在运行的这个进程名称在运行就可以啦你去MSDN查一下process的用法就行了
      

  2.   

    你可以在进程里面设置标识,或者设置一个全局的标识符如bool isrun = false;
    当该进程执行最开就判断isrun == true;
    如果为真弹出消息,return 
    如果为假继续运行,然后改变状态为true;
    一定是要一个public static 的bool类型。
      

  3.   

    你可以在进程里面设置标识,或者设置一个全局的标识符如bool isrun = false;
    当该进程执行最开就判断isrun == true;
    如果为真弹出消息,return  
    如果为假继续运行,然后改变状态为true;
      

  4.   

    Process[] pro = Process.GetProcessesByName("进程名");
                if (pro.Length > 1)
                {
                    App.Current.Shutdown(0);
                }
      

  5.   


            //获取当前打开程序的进程名称
            string procName = System.Diagnostics.Process.GetCurrentProcess().ProcessName;   
          //窗体加载事件
            private void FormLogin_Load(object sender, EventArgs e)
            {
                if ((System.Diagnostics.Process.GetProcessesByName(procName)).GetUpperBound(0) > 0)
                {
                    MessageBox.Show("程序已在运行!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    Application.Exit();
                    return;
                }
            }这个是我发现最简单的。
      

  6.   

    bool isrun;
    System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out isrun);
                if (isrun)
                {
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new FrmMain());
                }
                else
                {
                    MessageBox.Show("程序已经运行", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Application.Exit();
                }