C# .net防止一个程序(WinForm)重复运行的方法。
2009-07-17 10:58
701 查看
在写一些服务型的软件的时候,你可能不希望一个操作系统里有两个副本在运行,这样也许会扰乱你的操作。这时,你就需要限制程序的副本。下面的这个方法,很简单的就可以实现上述功能。
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());
}
}
}
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());
}
}
}
相关文章推荐
- [WinForm]C# .net防止一个程序(WinForm)重复运行的方法。
- [WinForm]C# .net防止一个程序(WinForm)重复运行的方法。
- C# .net防止一个程序(WinForm)重复运行的方法。
- C# .NET Winform等程序一运行就闪退 不同环境 换到其他电脑,例如XP之类的解决方法。
- 解决C# WINFORM程序只允许运行一个实例的几种方法详解
- Vb.Net防止同一程序重复运行的方法
- WinForm防止程序重复运行的方法分析
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- C# winform程序免安装.net framework在XP/win7/win10环境运行!
- C#winform判断程序已经运,且只能运行一个实例
- vc 防止多次运行同一个程序的方法
- QT之防止程序重复运行方法
- 使用C#实现只允许运行一个程序实例的几种方法
- c#检查程序是否已经运行,如何防止多次运行同一个程序?
- C#简单实现防止多个程序运行的方法
- C# WINFORM判断程序是否运行,且只能运行一个实例
- C# WINFORM判断程序是否运行,且只能运行一个实例(转)
- 中国的大多数软件的一个bug和我眼中最保险的防止程序运行多次的方法
- 使用C#打开新窗口关闭旧窗口的方法;winform中防止重复打开多个相同子窗体
- C# WINFORM判断程序是否运行,且只能运行一个实例