AhDung

/*追求代码质量的野生码农*/

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年5月21日

摘要: 功能:可防止exe更名、挪动位置再运行的问题实现思路:在Main()方法开始时遍历所有进程,获取每个进程的程序集GUID和PID,若发现有跟自己GUID相同且PID不同的进程,就勒令自身退出。注:1、采用GUID是为了尽可能保证判定的可靠性,采用进程名太不靠谱。因为程序集GUID是建立项目时就生成的,不随版本、内容的变化而变化,所以除非人为改动,否则同一项目编译若干次都还是那个GUID,用来判断程序集身份再适合不过。题外,市面上常见的互斥体方法,互斥名也建议采用GUID;2、之所以要加上进程ID的判断,是因为遍历的进程中已经包含自身进程,所以必须排除自身;3、经尝试似乎只有.Net程序集才能获 阅读全文
posted @ 2012-05-21 16:16 ahdung 阅读(1966) 评论(9) 推荐(4) 编辑