可以解决同名的程序集(但非同一程序集)只能运行一次的问题,网上很资料都是只检测程序是否同名,不能真正的保证是同一程序集。

private bool prevInstance()
{
Process[] myProcesses= Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
if (myProcesses.Length > 1)
{
GuidAttribute curGuid = (GuidAttribute)(Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(GuidAttribute), false)[0]);
foreach (Process process in myProcesses)
{
if (Process.GetCurrentProcess().Id != process.Id)
{
Assembly ass = Assembly.LoadFrom(process.MainModule.FileName);
GuidAttribute[] guids = (GuidAttribute[])ass.GetCustomAttributes(typeof(GuidAttribute), false);
if (guids.Length > 0)
{
if (curGuid.Value.ToString().Equals(guids[0].Value.ToString()))
return true;
}
}
}
}
return false;

}

转载于:https://www.cnblogs.com/blogsChen/p/3884577.html

.net利用程序集的GUID解决程序只能运行一次的问题相关推荐

  1. 如何分析java程序_如何利用 JConsole观察分析Java程序的运行,进行排错调优

    一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行.您可以轻松地使用 JCons ...

  2. 如何利用 JConsole观察分析Java程序的运行,进行排错调优

    原文链接:http://jiajun.iteye.com/blog/810150 一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能 ...

  3. 让你的程序只能运行一个实例

        先说一个循环系统进程的方法吧,             //首先取得你的程序当前进程             Process current = Process.GetCurrentProce ...

  4. 如何利用 JConsole观察分析Java程序的运行,进行排错调优(转)

    一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行.您可以轻松地使用 JCons ...

  5. java语言执行过程_Java程序的运行过程(执行流程)分析

    万事知其然,要知其所以然,所以本节带大家来详细了解一下 Java 程序的执行过程.从<使用记事本编写运行Java程序>一节的案例可以看出,Java 程序的运行必须经过编写.编译和运行 3 ...

  6. Java教程:Java程序的运行过程(执行流程)分析

    Java教程万事知其然,要知其所以然,所以本节带大家来详细了解一下 Java 程序的执行过程. 本篇文章由 泉州SEO www.234yp.com 整理发布,Java教程 www.234yp.com/ ...

  7. Java程序的运行过程(执行流程)分析

    Java 程序的运行必须经过编写.编译和运行 3 个步骤: 1.编写:是指在 Java 开发环境中进行程序代码的输入,最终形成后缀名为 .java 的 Java 源文件. 2.编译:是指使用 Java ...

  8. linux下生成guid,在Linux下生成GUID的程序,及编译错误 “uuid/uuid.h: No such file or directory” 的解决办法。...

    在Linux下编写生成GUID的程序,如下 guid.c 文件: #include #include void uuid2string(const uuid_t uu, char* const str ...

  9. VS2022打开项目之后提示:找不到 .NETFramework,Version=v4.0 的引用程序集。要解决此问题,请为此框架版本安装开发人员工具包(SDK/目标包)或者重新定向应用程序。

    问题: 使用 vs2022打开带有.net4.0的项目会报错 严重性 代码 说明 项目 文件 行 列 禁止显示状态 错误 MSB3644 找不到 .NETFramework,Version=v4.0 ...

最新文章

  1. 揭秘Facebook SLAM技术,如何为人们生活增添奇幻的艺术色彩?
  2. opencv orb
  3. 前端获取浏览器标识_浏览器缓存机制
  4. Redis的一些问题
  5. Redis常用命令之操作SortedSet(有序集合)
  6. python array_python数组array.array(转帖)
  7. centos7如何精简容量_只需3步!教你打造精简win10,去除系统自带程序,运行更快...
  8. OpenGL之gluPerspective浅析
  9. Java—TCP与HTTP连接
  10. 火星上首座虚拟房屋以超过50万美元价格售出
  11. 服务器linux换windows,【服务器运维】如何将linux体系更换成windows体系
  12. html table奇偶行颜色设置 (CSS选择器)
  13. 2.15.PHP7.1 狐教程-【PHP 抽象类、抽象方法】
  14. 编程规范基础学习笔记
  15. 使用jsoup爬虫超时分析与处理
  16. iOS 在线下载字体
  17. RabbitMQ 基本消息模型和消息确认机制
  18. 多智能体强化学习(五)MARL的挑战
  19. stack、queue、priority_queue
  20. 用 iPad 来写Python代码,GitHub 又一代码编辑器,开源了!

热门文章

  1. deLPHI书籍名称
  2. Ubuntu11.04更新源(转)
  3. 10.14.2 快捷键,环境变量等
  4. 【AWSL】之Linux管理(RPM)程序
  5. python和sqlserver_利用python实现mysql数据库向sqlserver的同步
  6. 使用qsort对不连续的内存数据排序_常见的内排序和外排序算法
  7. 1693: 选数(DFS)
  8. 如何保证NFS文件锁的一致性?
  9. 媒体声音 | 憋了这么久,阿里云数据库再放大招
  10. 概念设计师凌云:《蜘蛛侠:平行宇宙》和《证人》美术浅析