请问可以对限制单例模式的程序启动多个实例吗?
我知道shell a.exe,但是我有个程序只能启动一次,再启动就会激活已经启动的程序,不能启动多次。估计是使用了单例模式。
我听说和虚拟内存有关?请问有什么办法可以让程序启动多个实例呢?用vb可以实现吗?
[解决办法]
先要搞清楚这个程序是如何对多个实例进行判断的才好下手.
从你的描述里,能得到以下两个关键点:
一,限制多开.
二,执行新实例时,会激活已存在的实例,然后新实例退出.
从这两点来看,极有可能是使用了互斥体+广播消息进行通知.
你可以运行一个程序,然后使用XueTr看看进程句柄中的Mutant句柄,试试关掉几个"像"的,再运行新实例.
这样可以判断是不是互斥体.
如果是,那只要干掉互斥体就行了.