原帖由 Maxwell 于 2006-11-19 00:07 发表
判断是否已经有副本在运行比较可靠的方式可以考虑用原子、信号等好多种。
FindWindow找窗口名比较不可靠,找类名还稍微好一点。FindWindow的关键一是同类软件不能太多,万一遇到重名的自己死活起不来就笑话了, ...
那天想漏了一个方法,创建互斥量也行,不过感觉浪费资源。
ToolHelp在98,ME以上的版本,只能枚举出进程的文件名,不带路径(98枚举出来的是完整路径,记得兼容测试的时候搞得偶好烦),这种方法确实不妥。
但是FindWindow,首先,KOEI都是这么做的。曹操传,成吉思汗4都是如此。但是他如何去保证不Find别人,我也不知道。
象曹操传的播放音乐的那个,就是按类名滴,有那种类名的窗口类存在,他就播放音乐,不然就米有,所以常有人说改了那个Title,曹操传就米音乐要改那个音乐文件了。(其实改Title是米事的,主要UE打开来不知道哪是Title哪是ClassName,见了曹操传的字眼就改才会这样的)
不过呢偶写滴程序,一般都用GUID做ClassName,这样可能Find到别人吗
除非有人真的要来捣乱了。可是要捣乱的,虾米办法米有呢