c#实现程序的互斥运行
2007-07-11 21:35
323 查看
Process currentProcess = Process.GetCurrentProcess(); //获取当前进程
//获取当前运行程序完全限定名
//string currentFileName = Path.GetFileName(currentProcess.MainModule.FileName);
string currentFileName = currentProcess.ProcessName;
//获取进程名为ProcessName的Process数组。
Process[] processes = Process.GetProcessesByName(currentProcess.ProcessName);
//遍历有相同进程名称正在运行的进程
foreach (Process process in processes)
{
if (process.ProcessName == currentFileName)
{
if (process.Id != currentProcess.Id) //根据进程ID排除当前进程
{
MessageBox.Show(null, "程序已经运行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;//退出实例
}
}
}
这段带只是实现了同名程序的互斥运行,要想实现任意的程序互斥运行,只要改变判断的条件即可。
//获取当前运行程序完全限定名
//string currentFileName = Path.GetFileName(currentProcess.MainModule.FileName);
string currentFileName = currentProcess.ProcessName;
//获取进程名为ProcessName的Process数组。
Process[] processes = Process.GetProcessesByName(currentProcess.ProcessName);
//遍历有相同进程名称正在运行的进程
foreach (Process process in processes)
{
if (process.ProcessName == currentFileName)
{
if (process.Id != currentProcess.Id) //根据进程ID排除当前进程
{
MessageBox.Show(null, "程序已经运行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;//退出实例
}
}
}
这段带只是实现了同名程序的互斥运行,要想实现任意的程序互斥运行,只要改变判断的条件即可。
相关文章推荐
- c#实现程序的互斥运行
- C#利用Mutex实现只运行一个程序实例
- C#实现测量程序运行时间及cpu使用时间
- 实现程序互斥运行的几种方法
- c# 更改注册表开机启动+mutex(互斥,同一时间同一台电脑只能运行一个程序)
- 各种语言Mutex(互斥)实现程序单实例运行
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- C#之使用NotifyIcon实现任务栏托盘菜单,图标闪烁效果及气泡提示 很多程序是只需要后台运行的,甚至不需要自己的应用界面。NotifyIcon提供了程序在任务栏的显示功能 程序下载链接如下
- 使用Mutex实现程序单实例运行(c#)
- c#实现程序开机自动运行
- c# 实现一个程序仅能运行一个副本
- 如何实现程序互斥运行
- C# 实现程序只启动一次(多次运行激活第一个实例,使其获得焦点,并在最前端显示)
- 使用Mutex实现程序单实例运行(c#)
- C#实现测量程序运行时间及cpu使用时间(转载)
- ASP.NET实现程序的互斥运行
- C#默认以管理员身份运行程序实现代码
- C# 实现程序只启动一次(多次运行激活第一个实例,使其获得焦点,并在最前端显示)
- C#简单实现防止多个程序运行的方法
- 如何实现程序互斥运行