C#中的Mutex对象认识
2015-09-02 22:12
323 查看
我们知道,有些应用程序可以重复打开,有些只能打开一个,我以前写的程序为了防止用户打开多个程序,都是去遍历Process 查找进程的方式,现在看起来真是不专业,今天看大神的破解分析文章时,认识了mutex,从中get到了新的方法。
要注意多用户系统问题,可能Mutex并不那么有效,但应该很少遇到这种情况。
参考:
http://blog.sina.com.cn/s/blog_6b965dd70101lkwj.html
/article/6135084.html
/// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { bool isAppRunning = false; System.Threading.Mutex mutex = new System.Threading.Mutex(true, System.Diagnostics.Process.GetCurrentProcess().ProcessName, out isAppRunning); if (!isAppRunning) { MessageBox.Show("本程序已经在运行了,不要再闹了!"); Environment.Exit(1); } else { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } }
要注意多用户系统问题,可能Mutex并不那么有效,但应该很少遇到这种情况。
参考:
http://blog.sina.com.cn/s/blog_6b965dd70101lkwj.html
/article/6135084.html
相关文章推荐
- C#------IO 4个小练习
- c# OLEDB读取Excel
- C#操作ftp类完整实例
- Lambda 表达式(C# 编程指南)
- C# 简单生成双色球代码
- C#基础
- c#默认访问修饰符
- C# 全角符号转半角
- C#比较程序版本号的方法
- C# list使用方法
- C# 可变参数params的一个应用
- c# lambda表达式的应用
- C# 线程操作
- CLR via C#(18)——Enum
- CLR via C#(17)--接口
- CLR via C#(16)--泛型
- CLR via C#(15)--String,熟悉而又陌生
- CLR via C#(14)-可空值类型,关于?和??的故事
- CLR via C#(13)-浅谈事件
- CLR via C#(12)-委托Delegate