当前位置:首页 > Windows程序 > 正文

c# WinFo判断当前措施是否已经启动或存在的几种方法

2024-03-31 Windows程序

static class Program { /// <summary> /// 应用措施的主入口点。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //控制当前措施已经打开(即启动) //方法1:操作Mutex互斥量实现同时只有一个进程实例在运行 //互斥锁(Mutex) //互斥锁是一个互斥的同步东西,意味着同一时间有且仅有一个线程可以获取它。 //互斥锁可适用于一个共享资源每次只能被一个线程访谒的情况 bool flag = false; System.Threading.Mutex hMutex = new System.Threading.Mutex(true, Application.ProductName, out flag); bool b = hMutex.WaitOne(0, false); /*上面的参数说明: 第一个参数【initiallyOwned】:true:指示挪用线程是否应具有互斥体的初始所有权 (诚恳说没理解透) 第二个参数【name】:措施独一name,(当前操纵系统中)判定反复运行的标识表记标帜 第三个参数【createdNew】:返回值,如果检测到已经启动则返回(false)。 */ if (flag) { //没有启动不异的措施 Application.Run(new MainForm()); } else { MessageBox.Show("当前措施已在运行,请勿反复运行。"); Environment.Exit(1);//退出措施 } } }

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/33914.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494587访问次数
  • 建站天数
  • 友情链接