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条评论来说两句吧...

微信收款码
支付宝收款码