首页 > 编程语言 >C#实现应用不重复开启

C#实现应用不重复开启

时间:2023-04-24 20:14:57浏览次数:37  
标签:md isRunning 互斥 C# 程序 System 开启 重复 identifier

private void FormMain_Load(object sender, EventArgs e) {

if (CheckRunning("程序名")) // 设定程序禁止重复运行,并返回检查当前进程是否重复开启的实例的结果。"identifier"不能与其它程序一样,这是区分互斥所的标识符。

{

Process.GetCurrentProcess().Kill();//关掉当前进程

}

}

 

public static bool CheckRunning(string identifier) {

System.Security.Cryptography.MD5CryptoServiceProvider md = new System.Security.Cryptography.MD5CryptoServiceProvider();

string md5c = BitConverter.ToString(md.ComputeHash(System.Text.Encoding.Default.GetBytes(identifier))).ToLower().Replace("-", "");

bool isRunning = false; new System.Threading.Mutex(true, md5c, out isRunning); // IsRunning true:表示该互斥体创建成功,之前没有同名互斥体(程序未运行);false:表示创建失败,之前以有同名互斥体(程序已运行) md.Dispose();

return (!isRunning);

}

标签:md,isRunning,互斥,C#,程序,System,开启,重复,identifier
From: https://www.cnblogs.com/CoolBinGao/p/17350694.html

相关文章

  • 实用软件Caps大小写提示
    电脑输入法需要频繁切换大小写,没有提示很难受,联想电脑一直都有提示,最近发现在微软商店可以下载LenovoHotkeys。安装即可使用......
  • C# 获取文件名、无后缀文件名、扩展名
    C#获取文件名、无后缀文件名、扩展名C#获取文件名、无后缀文件名、扩展名stringfilePath="E:\\test.txt";stringLUJING="获取全路径:"+Path.GetFullPath(filePath);//E:\\test.txtLUJING="文件所在目录:"+Path.GetDirectoryName(filePath);//ELUJING="......
  • SpringSecurity从入门到精通:登录接口代码实现&测试接口
    登录接口代码实现 @RestController @RestControllerpublicclassLoginController{@AutowiredprivateLoginServcieloginServcie;@PostMapping("/user/login")publicResponseResultlogin(@RequestBodyUseruser){returnloginServ......
  • Java中Runnable和Callable的区别 Runnable接口
    Callable接口从Java1.0开始,它是java.lang包的一部分从Java1.5开始,它是java.util.concurrent包的一部分。Runnable接口不能返回计算的结果。Callable接口可以返回一个任务的并行处理的结果。Runnable接口不能抛出一个有检查的异常。Callable接口可以抛出一个有检查的异常。......
  • 老师好,请教下pycharm 里面怎么安装 openyxl?
    大家好,我是皮皮。一、前言前几天在Python钻石交流群【不争】问了一个Python库安装的基础问题,这里拿出来给大家分享下。下图是他的报错截图:二、实现过程这个问题其实不太难,不仔细看的话,还真看不出来啥问题,这里【狂吃山楂片】指出,库名字写的不对,应该是openpyxl,粉丝自己写的是......
  • Hungry Cow(USACO23 FEB Bronze T1)
    题目: 来写周练了,这道题目开开胃,就只用遍历一遍b数组、d数组再加上一些特判即可程序:#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;longlongn,t,d[N],b[N];intmain(){ios::sync_with_stdio(false);cin>>n>>t;for(inti=1;i<=n;i++)......
  • [ahk]修改Access表格的字段名
    修改Access字段名有两中方法:【方法1】利用adox对象MicrosoftADOExt.forDDLandSecurity(ADOX)ADOX除了提供管理安全性所需的对象之外,还提供了新建数据库及其所含对象所需的“数据定义语言(DDL)”对象。用ADOX创建数据库:;CreateadatabaseusingADOXoCatalog:=ComO......
  • [AHK]用ADOX创建Access数据库
    ;CreateadatabaseusingADOXoCatalog:=ComObjCreate("ADOX.Catalog")oCatalog.Create(sConnectionString)oTable:=ComObjCreate("ADOX.Table")oTable.Name:="MyTable"oTable.Columns.Append("ID",3)......
  • ASUS PRIME B550M-A (WI-FI) AMD Ryzen 3600电脑 Hackintosh 黑苹果efi引导文件
    原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔)硬件型号驱动情况主板ASUSPRIMEB550M-A(WI-FI)处理器AMDRyzen3600已驱动内存16GB2933hz已驱动硬盘MidasForce1TBSSDNVMEM.2Gen3x42280FormFactor已驱动显卡AMDRX6600-XT已驱动声卡瑞昱@英特尔......
  • 乐蜂网目标独立上市 唯品会向其派驻CEO、CFO
    唯品会今日举办的发布会上,唯品会副总裁冯佳路表示,乐蜂网将会独立运营,唯品会派驻CEO、CFO。今日,唯品会副总裁冯佳路、乐蜂网副总裁辛益华接受媒体采访,解答外界疑问。控股乐蜂网后 为何又参股东方风行集团?在过去10天,唯品会与乐蜂网、东方风行集团分别发生交易。2月14日,唯品会宣......