C#:只运行一个程序
2015-08-26 18:17
579 查看
一、通过系统事件
1、实现如下:
View Code
1、实现如下:
public void A() { //=====创建互斥体法:===== bool blnIsRunning; Mutex mutexApp = new Mutex(false, Assembly.GetExecutingAssembly().FullName, out blnIsRunning); if (!blnIsRunning) { MessageBox.Show("程序已经运行!", "提示",MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } } public void B() { //保证同时只有一个客户端在运行 System.Threading.Mutex mutexMyapplication = new System.Threading.Mutex(false, "OnePorcess.exe"); if (!mutexMyapplication.WaitOne(100, false)) { MessageBox.Show("程序" + Application.ProductName + "已经运行!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } public void c() { //=====判断进程法:(修改程序名字后依然能执行)===== Process current = Process.GetCurrentProcess(); Process[] processes = Process.GetProcessesByName(current.ProcessName); foreach (Process process in processes) { if (process.Id != current.Id) { if (process.MainModule.FileName == current.MainModule.FileName) { MessageBox.Show("程序已经运行!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } } } }
View Code
相关文章推荐
- C#使用Dispose模式实现手动对资源的释放
- C#通过Semaphore类控制线程队列的方法
- 【C#】GC和析构函数(Finalize 方法)
- C#+OpenGL+FreeType显示3D文字(3) - 用PointSprite绘制文字
- c#获取listview当前选中行的数据
- C#中的协变OUT和逆变
- C# select的联动效果
- 如何:创建和终止线程(C# 编程指南)
- C# 线程Thread的Join()方法
- C# XML文件操作
- C#读取Excel文件
- c#中日期的处理
- c# 分页
- c#委托、事件
- C#中virtual 方法和abstract方法的区别 .
- C#用QQ邮箱发送邮件代码
- C#WinForm制作异形窗体/控件
- C# WinForm窗体中制作滚动的字幕
- C#实现无标题栏窗体的拖动
- C#中的反射