因为偶尔会打开多个不能同时打开的程序。
根据之前的文件,现在很多程序都是通过CreateMutex方式限制多个运行的。
我在那里有个想法。 那个创建了。 我要发布那个。 而且,不是更能开车吗?
但是。 经过一些小程序的验证和网上搜索,我失败了。
因为在Mutex中,只有Create进程才能进行Release。 所以用这个方法是不可能的。
但是,也不是没有收获,经过这次“失败”的实验,对Mutex的认识也略有增加。 我也知道了基本的使用方法~
一些小总结:
如果Mutex已经存在,则CreateMutex和OpenMutex的结果相同,并返回副本的HANDLE。
如果Muxtex不存在,OpenMutex将返回0错误,GetLastError可以检索错误消息。
只有创建Mutex的进程才能运行ReleaseMutex。 否则,总是返回错误。
如果在CloseHandle中释放Mutex,则只会释放当前进程获取的复制句柄,而不会删除该Mutex内核对象。
另外,一个Mutex不能在其他进程中Release,但可以用特殊的方法进行。 像远程注入一样,但是如果在远程注入后使用API Hook的方法来hook createmutex更方便的话,原则上可以是“万能的”。 有时间的话验证一下再实现吧。
转载于:https://www.cn blogs.com/gakusei/archive/2009/02/21/1395462.html