->高手请->怎么能更好的实现一个外挂控制一个游戏窗口?(附例子)

->高手请->如何能更好的实现一个外挂控制一个游戏窗口?(附例子)
-> 高手请-> 如何能更好的实现一个外挂控制一个游戏窗口?(附例子)

当游戏双开时,外挂也要双开!

可是双开的外挂,却控制了同一个游戏窗口!

一开始我用的办法是更改游戏窗口名,SetWindowText   Hwd,   "人物名 ",窗口就被我改成了“人物名”,在开另一个外挂时就不会读到 "原来的游戏窗口句柄 ",外挂退出时在把窗口名改回   "原来的游戏窗口句柄 ",就实现了外挂双开,各自控制不同的窗口!

遇到的严重问题:

外挂正常退出时,会把窗口名改回 "原来的游戏窗口句柄 ",那么外挂不是正常退出时(也就是直接结束进程或外挂出错误等等),程序代码就没有执行将窗口名改回 "原来的游戏窗口句柄 ",当再次打开外挂Hwd就无法读到 "原来的游戏窗口句柄 ",因为之前的游戏窗口已经被我改成“人物名”了,外挂出了错误,所以没有改回来,则带来麻烦就是必须退出游戏,从新打开一个新的游戏!

那么如何能更好的实现一个外挂控制一个游戏窗口呢?
在开一个外挂控制的是另一个游戏窗口?

注意:游戏的窗口名是一样的,也就是hWnd!

现在想请大家帮帮忙,我应该怎么写代码呢(VC++MFC)!
实例与代码最好能说一下原理!学习第一嘛!


------解决方案--------------------
窗口的hwnd总是不同的吧,你的外挂之间需要做进程通信,当其中一个外挂挂上了一个游戏窗口的时候,告诉另一个进程就可以了
------解决方案--------------------
区别句柄或者进程id
------解决方案--------------------
不要用FindWindow ,枚举所有进程
------解决方案--------------------
枚据窗口,一个外挂进程,多个线程,每个线程控制一个窗口。
------解决方案--------------------
学习!
------解决方案--------------------
用钩子?是的话Dll的DLL_PROCESS_DETACH中处理。

远程注入的Dll的话,开一个线程等待外挂推出,并且作清理的处理。
------解决方案--------------------
共享内存啊~