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());
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值