当前位置:C++技术网 > 资讯 > 梦幻抢拍器的原理

梦幻抢拍器的原理

更新时间:2015-06-27 18:10:05浏览次数:1+次

梦幻抢拍器的原理

    在我抢了几次拍卖以后,发现很多次都无功而返。蹲点蹲时,还抢不到,真的气死我了。经过一定的观察,例如有什么是重复的动作?有什么可以用软件来实现呢?

问题1、怎么人性化地模拟点击?

    正常的脚本就是我们模拟鼠标点击进行的,但是这种做法实在是太不人性化了。在点击的时候,电脑想做其他的事情都不能,所以我仔细观察了以后,发现海马玩可以自定义按键,这就解决的点击坐标的问题。不用模拟点击,改用模拟键盘。

问题2、那我们怎么模拟按键呢?

    我们都知道windows是消息机制的。但是我们却不知道不同进程之间又怎么样的传递消息。怎么传,能用什么API?当你想到这个地方的时候,就会出现更多问题。例如:你知道句柄吗?你知道消息机制吗?你知道windows控件消息传递吗?你知道模拟按键是怎么模拟的吗?你知道即使获取了句柄,那应该发送什么样的消息吗?你知道你获得的句柄一定是正确的吗?

    这一系列的问题都是你要解决的。平时开发的时候学到的东西,在这里就全部能用上了。

逐个解决问题:

问题3、获取进程的句柄是怎么做的?

    我经过百度以后发现有这么一个API可以枚举窗体,enumwindow(),那好了。我们能够找到海马玩的窗口。那么我们接着百度,获取窗口以后怎么获取句柄,findWindow()被找到了。百度——这个神奇的网站。

问题4、消息传递,传递什么消息?

    我们百度了以后,发现可以用sendmessage()当然你先知道它是什么才能知道怎么用百度搜索出你想要的。发现很简单就可以模仿出keydown  keyup是应该怎么传递消息了。

问题5、向什么地方传递这些消息?

    我们会用到这个消息获取器。这个是microsoft的软件,可以获取消息,简单地摸索一下,就知道怎么获取消息了。我们简单地在海马玩上设置了几个消息按钮,手动点键盘的相应按键,观察:这些消息都传到哪里去了。


    我们发现 


    这个窗口就是主窗口。那么这下子就简单了。

    我们来理清思路,枚举窗口→找到主窗口句柄→发送消息→不断的按照一定的顺序发送消息→完毕。

 

    这就是抢拍器的原理了。其实我写的时候,直接写出方法是没有多大用处的。因为其中的细节观察,现实与知识的联想等等,都难以用文字表达。

以上

By  顺铭 201564