WPF 只允许打开一个实例
来源:互联网 发布:我的网络ip 编辑:程序博客网 时间:2024/06/09 20:51
我们有时候只希望我们的程序只打开一个实例,也就是我们的软件只有一次被打开。
那么我们可以通过一个办法知道,在这个软件打开前是不是打开过一个,还没关闭。也就是是否存在另一个程序在运行。
下面是一个简单方法
// 确保不存在程序的其他实例 singleInstanceWatcher = new Semaphore( 0, // Initial count. 1, // Maximum count. Assembly.GetExecutingAssembly().GetName().Name, out createdNew); if (createdNew) { //之前没有运行过 } else { //重复运行 MessageBox.Show("请不要重复运行(ノ`Д)ノ"); Environment.Exit(-2); }
另一个方法
string mutexName = Properties.Resources.ProgramTitle + "Mutex"; singleInstanceWatcher = new Mutex(false, mutexName, out createdNew); if (!createdNew) { MessageBox.Show("程序已经运行!", "错误", MessageBoxButton.OK, MessageBoxImage.Error); Environment.Exit(-1); }
bool createdNew;System.Threading.Mutex instance = new System.Threading.Mutex(true, "MutexName", out createdNew);if (createdNew){ Application.Run(new LoginForm()); instance.ReleaseMutex();}else{ Application.Exit();}
http://www.cnblogs.com/z_lb/archive/2012/09/16/2687487.html
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
1 0
- WPF 只允许打开一个实例
- 只允许打开一个应用程序实例
- C# 2005 只允许打开一个实例
- WPF 只允许运行一个实例(简单代码)
- 只允许一个实例
- 只允许运行一个实例
- 只允许一个应用程序实例
- 只允许运行一个实例
- C++ 一个应用程序只允许一个实例
- Flash只允许客户打开一个客户端
- wpf只运行一个实例
- wpf只运行一个实例
- wpf只运行一个实例
- 只允许一个实例,允许n个实例
- 只允许程序运行一个实例
- 只允许运行一个实例(C#)
- C# 只允许运行一个实例
- vc只允许运行一个实例
- css3盒子模型及其定位
- 31. Spring Boot导入XML配置【从零开始学Spring Boot】
- javabean:boolean和Boolean类型的getter方法名是有区别的
- 6、Power Query-SQL与PQ技术的强强联合
- 把状态栏设置成透明的,沉浸式状态栏
- WPF 只允许打开一个实例
- Hibernate @Enumerated标注枚举类型解说
- 线程安全与可重入函数
- 使用Reveal分析任意App
- windows 安装Twisted 和zope包
- Python 导出mysql数据到excel
- 蓝鸥React Native零基础入门到项目实战 组件的生命周期
- 反射弧有点长
- 解决端口号被占用的问题