如何获取QQ消息?

未解决  未打赏  
jiumei jiumei  悬赏: 5 金币
发布:2017-08-07 19:28:12 分类:问答

import com;

var oleaut = raw.loadDll("OleAut32.DLL"); 
var oleacc = raw.loadDll("OLEACC.DLL"); 
IID_IAccessible = '\xE0\x36\x87\x61\x3D\x3C\xCF\x11\x81\x0C\x00\xAA\x00\x38\x9B\x71';

var findAccessibleChildren;
findAccessibleChildren = function(accParent,name){ 

    //结构体数组
    var variants = { 
        struct item[] ={ 
            //动态数组,使用length指定数组长度
            length = accParent.accChildCount;
            {
                WORD vt; 
                WORD r1;
                WORD r2;
                WORD r3;
                ptr pdispVal;
                ptr r4;
            };
        }
    }
    
    var obtained = {int size};//用结构体给API提供int指针
    var hr = oleacc.AccessibleChildren(accParent, 0,accParent.accChildCount, variants,obtained);
    if( hr < 0 ) return;//COM中小于0的都是错误码

    for(i=1;obtained.size;1){
        var variant = variants.item[ i ] 
        if( variant.vt != 9/*_VT_DISPATCH*/ ) {
            oleaut.VariantClear(variant);
            continue;
        }
        
        var accChild = com.QueryObject( variant.pdispVal ); //转换为COM对象(COM.IDispatch)
        oleaut.VariantClear(variant);;//释放Variant对象
        
        if( accChild.accName(0/*CHILDID_SELF*/) == name ){  
            var v = accChild.accValue(0/*CHILDID_SELF*/);
            if(#v) return v;
        }
        
        var v = findAccessibleChildren(accChild,name);
        if(#v) return v;
    }
}

findAccessibleString = function(hwnd,name){
    var pvObject = {ptr p}
    if( 0 == oleacc.AccessibleObjectFromWindow(hwnd,0,IID_IAccessible,pvObject) ){ 
        var accParent = com.QueryObject( pvObject.p ); //转换为COM对象(COM.IDispatch)
        com.Release(pvObject.p);
        
        return findAccessibleChildren( com.QueryObject( pvObject.p ),name );
    }   
}

import winex;
import console;

for hwnd in winex.each( "TXGuiFoundation") { 
    var qqMessage = findAccessibleString(hwnd,"消息");
    if( #qqMessage ) win.msgbox( qqMessage )
}
这段代码是老大发的,但好像获取不到,不知道怎么回事?

  • Danboy Danboy    
    Time:2017-08-25 10:51:11
    不可能获取不到啊,估计是窗口句柄找错了吧,把下面那段改成这样试试
    for hwnd,title in winex.each( "TXGuiFoundation") { 
    if title != "" ? title != "QQ" ? title != "TXMenuWindow" ? title != "腾讯网迷你版" {
        var qqMessage = findAccessibleString(hwnd,"消息");
        if( #qqMessage ) win.msgbox( qqMessage )
        }
    }
[ 发单/接单 ]
换IP投票软件
PC蛋蛋自动挂机投注
新浪微博发微博显示尾巴的方法,比如显示来自iphone 7
百度文库批量自动上传软件
一点资讯app刷阅读量/评论/收藏/订阅功能/手机号注册
定做一个阿迪达斯官网注册器(需要破点击文字式验证码)
定制人人网自动注册/修改资料/采集/私聊软件
酷狗繁星直播网页协yi
YY多功能刷订阅刷粉丝
滑块验证码本地识别
狼人杀POST QQ登录注册 获取金币数量
做个贴吧发发帖的软件懂的来
今日头条账号保存cookie
抖音粉丝软件定做,只要粉丝
百家号自媒体发文软件定制
哔哩哔哩播放量
读取TB某个商品上架时间和相关信息
网易博客软件定制
定制天涯论坛发帖软件
定制今日头条批量自动发私信软件
[ 站内搜索 ]
[ 最近热帖 ]
万能助手 -- 扩展库大全集 13756
用aardio创建web工程图文讲解(1) 12847
电脑编程入门自学:Fiddler https 抓包时提示创建根证书不成功问题彻底解决(https插件dll方式) 11747
aardio绘图演示 11415
通过chrome.dll中间件控制外部chrome浏览器 10130
我常用的aardio技巧 9780
《边学C语言边赚钱——简码编程入门教程》系列集合 9620
aardio使用http或whttp进行get/post请求时经常cookies失效怎么办?__电脑计算机编程入门教程自学 9324
[源码下载]简码视频加密解密播放工具个人版v1.0发布,永久免费开源的知识变现神器 8559
python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学 8052
编程入门教程:aardio批量上传文件并显示进度条 7888
aardio调用nodejs的ws模块做一个简单的聊天通信示例 7041
电脑计算机编程入门教程自学:原生JavaScript判断字符是否为A-Za-z英文字母 6911
电脑计算机编程入门教程自学:腾讯tx或极验geetest滑块按住拖动完成拼图验证成功破解思路及源码 6506
乐玩插件AARDIO调用 6092
[ 近期热答 ]
电脑计算机编程入门教程自学:什么是buffer缓冲区? 1
aardio_代码编辑框书签管理器开源 1
aardio_怎么用ide库从代码编辑框中取出指定行的源码? 1
aardio_codepage代码页编码乱码暴力猜解工具 1
aardio内嵌echarts图表添加鼠标事件响应功能 2
aardio列表框listbox_模糊查找和精确查找 1
8亿QQ绑定手机泄露:通过腾讯QQ号查询QQ绑定的手机号码漏洞! 1
carl listviewex调用例子----------源码搬运工 2
Aardio内嵌Electron浏览框怎么正确添加启动参数? 1
Aardio取汉字的字节数或字符数 1
怎么实现mssql图片数据的读写 2
aardio_从49个数字里选六个和值为150的不重复的数字 1
在嵌入wps的时候,多了一个 透明的边框,这个怎么消除它 1
万能助手入门帮助教程:学会科学地管理工作文件 1
Aaardio开发内嵌Electron浏览框放服务器上无法下载组件的解决办法 1