续接着昨天的来做,昨天做到了怎么获取消息。那么今天就开始怎么点击发送按钮了,由于该聊天窗体中的发送按钮属于自绘按钮。找不到对应的句柄,但是万能的WinApi还是能够解决的。具体怎么做呢?大概思路是模拟操作,两个事件。先在按钮上按下鼠标,然后松开鼠标。那怎么知道按什么位置呢,首先我们打开Spy++,定位到聊天窗口。在定位的项上面单击右键选择消息。
然后通过记录选项的消息选项中选出我们需要的消息,这里我们只需要WM_LBUTTONDOWN和WM_LBUTTONUP。选择这两个
确定,然后在与别人的对话框中随便输入几句话。再点击发送按钮就能看到下面的消息:
这下就简单了,可以从上面的消息看出。x坐标和y坐标是多少。下面直接上代码:
1 | int WM_LBUTTONDOWN = 0x0201; |
2 | int WM_LBUTTONUP = 0x0202; |
6 | WinApi.PostMessage(Handle, ( int )WinApi.WindowMessages.WM_LBUTTONDOWN, 0, x + (y << 16)); |
7 | WinApi.PostMessage(Handle, ( int )WinApi.WindowMessages.WM_LBUTTONUP, 0, x + (y << 16)); |
发送按钮可以成功点击了。下面开始做消息处理的部分了,我这里采用比较简单的方式来处理,消息全部储存在一个表中,字段有三个“ID”,“接收消息”,“回复消息”;把消息去里面查得到相对应的回复消息写入到发送框中最后点击发送按钮关闭窗体。到此这个工具也大概开发完成了。没有上太多代码,只是把我费的时间比较多的地方写了出来。算是一个记录,以后有相关的开发话也可以来查阅。补充,消息的激发是通过一个C++写的钩子程序来做的,有淘宝窗口打开就会激发一个事件。
如果有兴趣的朋友可以一起多探讨探讨。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。