为了解决一些程序不能“双开”、“多开”(就是只能运行一个实例)的问题,我看了看有关资料,一般是用SetProp()函数设了一个标识,每次运行程序检查有无此标识的窗口,有则转到此窗口,然后第二个实例退出程序,就实现了“单开”,像金山词霸,FlashGet等等这些软件就是这样的。为了让这类程序“多开”我现在试验性的写了两个程序,程序1和程序2,程序1中用SetProp()函数设了个string标识"xxx",现在程序1只能有一个实例运行了;我又在程序2中获得程序1的主窗口句柄,用RemoveProp()函数去掉了程序1中的"xxx"标识,就使程序1能“多开”了,眼看问题就要解决了,现在我遇到了最后一个问题,就是我不知道别人的程序中设的是什么标识,怎么去掉标识呢?与此相关的三个函数SetProp(),GetProp(),RemoveProp()都要输入标识(连Remove都要输入标识,倒!)可能是MS出于安全性考虑吧,请问我怎么能获得其它程序用SetProp()设置的标识呢?还有就是CreateSemaphore()好像也是用来创建标识的,不过好像是建在系统中了,而非程序中的,与它相对的是ReleaseSemaphore(),有谁顺便讲讲这两个函数一般是干什么用的好吗。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货