微信会话列表元素监听,获取新会话消息
2025-03-03 本文已影响0人
LCSan
import process
import fsys.lnk
import inet.url
// 打开小程序,视频号
function openXiaoChenXu(){
var path,param = ..fsys.lnk.search("WeChat.exe");
..process.execute(path,param);
sleep(2000);
}
import win;
import winex;
import winex.key;
import key;
import winex.mouse;
import winex.accObject;
import myplu.accRoleObject;
import console;
import win.timer
var timer = win.timer(,500);
openXiaoChenXu();
var res = {};
for hwnd,title,threadId,processId in winex.each( "WeChatMainWndForPC", "微信" ) {
var accObject = winex.accObject.fromWindow(hwnd)
// https://learn.microsoft.com/zh-cn/windows/win32/winauto/object-roles
if(accObject){
accObject.takeFocus()
var list = accObject.find(role=_ROLE_SYSTEM_LIST /*0x21 数据网格*/;name="会话")
if(list){
list.takeFocus()
console.log(list.roleText(),list.name(),list.stateText());
var index = 1;
timer.onTimer = function(hwnd,msg,id,tick){
// 遍历会话列表List
for item in list.each(){
var re = {};
// 枚举单个会话itemList的文本信息。
item.enum(
function(accChild,accParent){
..table.push(re,accChild.name());
},{role=_ROLE_SYSTEM_STATICTEXT /*0x29 文本*/}
)
if(#re>3){
item.takeFocus();
var x,y,cx,cy = item.location();
var x1,y1,cx1,cy1 = accObject.location();
winex.mouse.click(item.hwnd(),x - x1 + 10,y - y1 + 10);
winex.mouse.click(item.hwnd(),x - x1 + 10,y - y1 - 10);
console.dump(re);
..table.push(res,re);
}
}
}
timer.enable();
}
}
}
win.loopMessage();