C#程序只允许运行一个实例的解决方案
2010-03-15 16:29
453 查看
最近在做winform的程序中,需要只能打开一个程序,如果已经存在,则激活该程序的窗口,并显示在最前端。在网上google了一哈,找到了很多的解决方案。这里我整理了3种方案,并经过了测试,现和朋友们分享:
一、使用用互斥量(System.Threading.Mutex)
同步基元,它只向一个线程授予对共享资源的独占访问权。在程序启动时候,请求一个互斥体,如果能获取对指定互斥的访问权,就职运行一个实例。
代码
Process process = RuningInstance();
if (process == null)
{
Application.Run(new Form1());
}
else
{
MessageBox.Show("应用程序已经在运行中。。。");
HandleRunningInstance(process);
//System.Threading.Thread.Sleep(1000);
//System.Environment.Exit(1);
}
这里整理了三种方案,希望朋友们提出更多的解决方案。谢谢!
Best Regards,
Charles Chen
一、使用用互斥量(System.Threading.Mutex)
同步基元,它只向一个线程授予对共享资源的独占访问权。在程序启动时候,请求一个互斥体,如果能获取对指定互斥的访问权,就职运行一个实例。
代码
Process process = RuningInstance();
if (process == null)
{
Application.Run(new Form1());
}
else
{
MessageBox.Show("应用程序已经在运行中。。。");
HandleRunningInstance(process);
//System.Threading.Thread.Sleep(1000);
//System.Environment.Exit(1);
}
这里整理了三种方案,希望朋友们提出更多的解决方案。谢谢!
Best Regards,
Charles Chen
相关文章推荐
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案 分类: .NET 2012-12-15 12:03 438人阅读 评论(0) 收藏
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C#程序只允许运行一个实例的解决方案
- C# WinForm 判断程序是否已经在运行,且只允许运行一个实例,附源码
- C# 创建互斥程序_只允许运行一个程序实例
- 用C#给程序加启动画面并只允许一个应用程序实例运行
- 解决C#程序只允许运行一个实例的几种方法详解
- 使用C#实现只允许运行一个程序实例的几种方法
- 用C#给程序加启动画面并只允许一个应用程序实例运行
- 用C#给程序加启动画面并只允许一个应用程序实例运行