互斥锁防止程序被多次打开
来源:互联网 发布:想做淘宝客服怎么找 编辑:程序博客网 时间:2024/04/30 14:54
bool createdNew; var mutex = new Mutex(false, "CC_Client", out createdNew); if (createdNew) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new FormMain()); mutex.Close(); }
当代码中没有mutex.Close();这句时,Debug模式下程序可以正常的判断互斥锁已经存在,从而防止程序被多次运行。但是在Release模式下,每次开启程序的时候,互斥锁的判断都是不存在,程序可以被任意次打开。
Debug模式下,为了便于调试,互斥锁的生存期被人为的延长了。因此可以成功的判断互斥锁的存在。但是Release模式下,由于mutex在随后的代码中没有被调用过,当它被创建成功之后就立刻被释放了。因此每次对它的判断都是不存在。
添加了mutex.Close();后,由于对此对象存在调用,因此在Application.Run(new FormMain());结束之前,mutex都不会被释放。Release模式下可以正确的判断互斥锁的存在了。
- 互斥锁防止程序被多次打开
- 防止程序多次打开
- 防止程序多次打开
- 防止同一程序被打开多次
- 防止程序多次运行。
- 防止程序多次运行
- C#程序在一个终端中只允许打开一次,防止多次打开
- 防止同一个程序多次运行。
- 防止同一个程序多次运行
- 防止程序自身多次运行。
- c# 防止程序多次运行
- C#防止程序多次运行
- CreateMutex 防止程序多次运行
- Delphi 防止程序多次运行
- 如何防止程序多次运行
- 防止程序被多次运行的API函数
- 防止程序被多次重复调用的代码
- 防止程序重复打开
- 屌丝高考五周年纪念日第一篇
- SQL 中 判断 表 或 临时表 是否 存在
- C语言学习记录
- View的getDrawingCache为空,解决办法
- windows platformsdk 和 VS
- 互斥锁防止程序被多次打开
- 【如何打开win xp系统超级管理员权限_xitongshoucang.com】
- 利用SQL全局临时表防止登录
- 《C++ Primer》读书笔记(7.7)
- iOS开发icon图标设置
- c#正则表达式去行号
- xamarin.ios异步调用WCF
- 解决导入时候的科学计数
- OTL翻译(1) -- 说明