WPF防止重复运行实例
1、方法一
在app.xaml.cs下添加如下代码:
/// <summary> /// App.xaml 的交互逻辑 /// </summary> public partial class App : Application { System.Threading.Mutex mutex; public App() { this.Startup += new StartupEventHandler(App_Startup); } void App_Startup(object sender, StartupEventArgs e) { bool ret; mutex = new System.Threading.Mutex(true, "ElectronicNeedleTherapySystem", out ret); if (!ret) { MessageBox.Show("已有一个程序实例运行"); Environment.Exit(0); } } }
二、方法二
1.通过查找process的方法来控制应用程序启动。 PS:这个方法有bug:在多用户登录后,只有一个用户可以正常启动程序,也就是说,进程是跨用户的。 [java] view plain copy int processCount = Process.GetProcessesByName("windowWPF").Where(o => o.Id != Process.GetCurrentProcess().Id).Count(); if (processCount > 1) Environment.Exit(0); 2. 注意mutex不能被回收,否则就无法发挥作用了。 [java] view plain copy bool ret; using (System.Threading.Mutex mutex = new System.Threading.Mutex(true, "WpfMuerterrrterterttex", out ret)) { if (!ret) Environment.Exit(0); }
- /// <summary>
- /// App.xaml 的交互逻辑
- /// </summary>
- public partial class App : Application
- {
- System.Threading.Mutex mutex;
- public App()
- {
- this.Startup += new StartupEventHandler(App_Startup);
- }
- void App_Startup(object sender, StartupEventArgs e)
- {
- bool ret;
- mutex = new System.Threading.Mutex(true, "ElectronicNeedleTherapySystem", out ret);
- if (!ret)
- {
- MessageBox.Show("已有一个程序实例运行");
- Environment.Exit(0);
- }
- }
- }

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
WPFの获取屏幕分辨率并自适应
原文: WPFの获取屏幕分辨率并自适应 double x = SystemParameters.WorkArea.Width;//得到屏幕工作区域宽度 double y = SystemParameters.WorkArea.Height;//得到屏幕工作区域高度 double x1= SystemParameters.PrimaryScreenWidth;//得到屏幕整体宽度 double y1 = SystemParameters.PrimaryScreenHeight;//得到屏幕整体高度 this.Width = x1;//设置窗体宽度 this.Height = y1;//设置窗体高度 或者:(获取整体) int SW = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width; int SH = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height; C# 根据不同屏幕分辨率自动适应屏幕 C# 根据不同屏幕分辨率自动适应屏幕------解决方案--------...
-
下一篇
easyui的一些使用方法
版权声明:转载请注明作者及出处,否则将追究法律责任。 https://blog.csdn.net/q2158798/article/details/79310258 1.Jsp页面引入easyui jquery的方式 项目截图: 页面引入方式 <head> <basehref="<%=basePath%>"> <title>后台管理系统</title> <!-- 引入jquery --> <scripttype="text/javascript"src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script> <!-- 引入easyui核心 --> <scripttype="text/javascript"src="${pageContext.request.contextPath }/js/easyui/jquery.easyui.min.js"></script> <!...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL数据库在高并发下的优化方案
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- Docker容器配置,解决镜像无法拉取问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker快速安装Oracle11G,搭建oracle11g学习环境