下面引用由无条件为你在 2006/12/16 10:32pm 发表的内容:
第一种方法最没有技术含量。
另外,可以用添加“互斥量”的方法防止程序重复执行。而且我还没有发现破解它的方法。 老大,一楼已经说得很清楚了。2:通过命名的内核对象来防止重复打开。
解决方法:把查找内核对象后面的非零判断跳转修改下就ok了。 [br][br]-=-=-=- 以下内容由 默数悲伤 在 2006年12月17日 02:27pm 时添加 -=-=-=-
TO: CHINAIC
互斥体也就是你所说的内核对象的一种,一般用于线程间的同步。
如果在创建互斥体的时候,给其指定一个名字,则其他的程序想要再创建这个相同名字的互斥体就会返回失败,这也就是2楼说的方法,创建一个带名字的互斥体,在进程第二次运行的时候就会创建失败,或者直接通过名字来OpenMutex 如果能够打开则证明该进程已经有一个实例在运行了。可以在进程中加一个判断值,来决定是否继续运行。
其实,这个也很简单:)
|