本文以获取桌面QQ聊天窗口为例,简要概述如何获取QQ聊天窗口及自动写入数据及自动发送。本文仅对如何自动发送信息做了简要概述,非技术类文章。
1 首先下载个窗口分析工具,例如winhwnd,wininfo等
获取窗口的类名,QQ聊天窗口的主框架类名是TXGuiFoundation,主框架里面包含了几个子类,也需要分别记录。
2 聊天窗口的获取
使用windows 提供的函数EnumWindows枚举所有窗口,利用回调函数找到需要的窗口。(QQ输入内容的窗口没有类名,只能采用过滤方法)
聊天窗口句柄的类名如果是TXGuiFoundation(需要用到的函数:GetClassName),并且标题栏不包含:TXMenuWindow,TXFloatingWnd,QQ(可以使用GetWindowTextA函数获取标题名),符合要求的窗口句柄就是输入内容的窗口。
3 向聊天窗口自动写入内容
将需要发送的内容复制到粘贴板, 使用windows函数向窗口发送黏贴信号SendMessageA(inputWindow,WM_PASTE,0,0);
4 内容发送
同样使用函数SendMessageA发送ENTER信号
SendMessageA(inputWindow,WM_KEYDOWN,VK_RETURN,(LPARAM)(&lp));