zoukankan      html  css  js  c++  java
  • C# .net防止一个程序(WinForm)重复运行的方法。

    //在写一些服务型的软件的时候,你可能不希望一个操作系统里有两个副本在运行,这样也许会扰乱你的操作。这时,你就需要限制程序的副本。下面的这个方法,很简单的就可以实现上述功能。

    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());
            }
        }
    }

    ////////////////////////////////
    ////////Sixi. Let it be.../////
    //////////////////////////////

  • 相关阅读:
    在JAVA应用中远程提交MapReduce程序至Hadoop集群运行
    ImpalaJDBCDriver 500051
    在Linux上安装Python3
    MySQL导入之mysqlimport
    hadoop mapreduce的本地模式及yarn模式
    MySQL之mysqldump的使用
    MapReduce的本地运行模式(debug调试)
    09 MySQL触发器
    P3168 [CQOI2015]任务查询系统
    P4124[CQOI]手机号码
  • 原文地址:https://www.cnblogs.com/sixiweb/p/1969675.html
Copyright © 2011-2022 走看看