aardio

微信会话列表元素监听,获取新会话消息

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();
上一篇 下一篇

猜你喜欢

热点阅读