获取千牛聊天对象-模拟鼠标操作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);

  

源码地址:https://github.com/renchengxiaofeixia/QnPg

猜你喜欢

转载自www.cnblogs.com/renchengxiaofeixia/p/9721843.html