author | comments | date | layout | title | categories |
---|---|---|---|---|---|
小飞虾 |
true |
2018-09-29 10:20 |
post |
获取千牛聊天对象-模拟鼠标点击1 |
千牛插件开发 |
上一篇介绍了 从聊天记录中-获取千牛聊天对象 存在一个问题就是没有聊天记录的情况是获取不到当前的聊天对象的,为了解决这个问题,我们换一种实现方式。
找到千牛 添加任务 的窗口,用SPY++查找窗口,可以看到下图中窗口内的控件层级.。
-StandardFrame ---添加任务的窗口
-PrivateWebCtrl
-Aef_WidgetWin_0 ---这里就已经包含了当前聊天对
首先找到下图中的按钮点击,就会弹出任务窗口了,然后再遍历窗口中的子控件,找到 类名 ClassName = Aef_WidgetWin_0 的控件,获取此空的Text,to同过正则匹配到需要的 聊天对象 就可以了。
//获取当前登录的千牛账号
var qnAcount = GetAllChatDeskSellerNameAndHwndInner();
//获取千牛聊天窗口上部的toolBarPlus控件
var toolBarPlusHwnd = FindWindowEx(qnAcount.Hwnd,hwndChild,"Aef_WidgetWin_0","");
//点击添加任务按钮
var x = 125,y = 18; //添加任务按钮的坐标
ClickPointBySendMessage(toolBarPlusHwnd,x,y)
//获取当前最新打开的添加任务窗口的句柄
var taskHwnd = GetTopTaskWindow();
//遍历添加任务窗口里的子控件获取聊天对象的昵称
var buyerName = GetBuyerNameFromTaskWindow(taskHwnd);