易语言获取群内全部成员利用模拟按键的方式艾特成员

DLL命令表

.版本 2
.DLL命令 _鼠标取坐标句柄, 整数型, "user32", "WindowFromPoint"
  .参数 xPoint, 整数型, , x点值
  .参数 yPoint, 整数型, , y点值;

全局变量表

.版本 2
.全局变量 全_Uin, 文本型
.全局变量 全_Bkn, 文本型
.全局变量 全_Cookie, 文本型

常量数据表

.版本 2
.常量 正则表达式_群列表, "<文本长度: 22>", , gc":(\d+),"gn":"(.*?)"
.常量 正则表达式_群成员, "<文本长度: 53>", , nick":"(.*?)"[\s\S]*?"role":(\d+),[\s\S]*?uin":(\d+)}

计算群列表群成员

.版本 2
.程序集 集_QQ功能
.子程序 QQ群_计算Bkn, 文本型
.参数 skey, 文本型
.局部变量 基值, 整数型
.局部变量 计数, 整数型
.局部变量 长度, 整数型
.局部变量 结果, 整数型
基值 = 5381
计数 = 0
长度 = 取文本长度 (skey)
.判断循环首 (计数 < 长度)
  基值 = 基值 + 左移 (基值, 5) + 取代码 (skey, 计数 + 1)
  计数 = 计数 + 1
.判断循环尾 ()
结果 = 位与 (基值, 2147483647)
返回 (到文本 (结果))
.子程序 QQ群_群列表, 文本型
.参数 模式, 整数型, , 0=群验证;1=获取群列表
.参数 Group, 文本型, 可空
.局部变量 Text, 文本型
.如果真 (模式 = 0)
  全_Bkn = QQ群_计算Bkn (文本_取出中间文本 (全_Cookie, “skey=”, “;”, , ))
  Text = 编码_utf8到gb2312 (网页_访问S (“http://qun.qq.com/cgi-bin/qun_mgr/get_group_list”, 1, “bkn=” + 全_Bkn, 全_Cookie, , , , , , , , , , , , , ))
  .如果真 (寻找文本 (Text, Group, , 假) ≠ -1)
    返回 (“验证成功”)
  .如果真结束
  返回 (“验证失败”)
.如果真结束
.如果真 (模式 = 1)
  全_Bkn = QQ群_计算Bkn (文本_取出中间文本 (全_Cookie, “skey=”, “;”, , ))
  Text = 文本_替换 (编码_URL解码 (网页_访问S (“http://qun.qq.com/cgi-bin/qun_mgr/get_group_list”, 1, “bkn=” + 全_Bkn, 全_Cookie, , , , , , , , , , , , , ), 真), , , , “&nbsp;”, “”, , , , , , , , )
  返回 (Text)
.如果真结束
返回 (Text)
.子程序 QQ群_群成员, 文本型
.参数 模式, 整数型, , 0=获取群成员数量;1=获取群成员
.参数 Group, 文本型
.参数 st, 文本型, 可空
.参数 end, 文本型, 可空
.局部变量 Text, 文本型
.如果真 (模式 = 0)
  全_Bkn = QQ群_计算Bkn (文本_取出中间文本 (全_Cookie, “skey=”, “;”, , ))
  Text = 文本_替换 (编码_URL解码 (网页_访问S (“http://qun.qq.com/cgi-bin/qun_mgr/search_group_members”, 1, “gc=” + Group + “&st=0&end=20&sort=0&bkn=” + 全_Bkn, 全_Cookie, , , , , , , , , , , , , ), 真), , , , “&nbsp;”, “”, “&#39;”, “”, , , , , , )
  Text = 文本_取出中间文本 (Text, “count” + #引号 + “:”, “,”, , )
.如果真结束
.如果真 (模式 = 1)
  全_Bkn = QQ群_计算Bkn (文本_取出中间文本 (全_Cookie, “skey=”, “;”, , ))
  Text = 文本_替换 (编码_URL解码 (网页_访问S (“http://qun.qq.com/cgi-bin/qun_mgr/search_group_members”, 1, “gc=” + Group + “&st=” + st + “&end=” + end + “&sort=0&bkn=” + 全_Bkn, 全_Cookie, , , , , , , , , , , , , ), 真), , , , “&nbsp;”, “”, “&#39;”, “”, , , , , , )
.如果真结束
返回 (Text)

QQ群艾特功能

此功能需要加载精易模块5.6

.版本 2
.支持库 shellEx
.支持库 iext
.程序集 窗口程序集_窗口1
.程序集变量 集_开始工作, 逻辑型
.程序集变量 集_窗口标题, 文本型
.程序集变量 集_热键F4, 整数型
.程序集变量 集_窗口句柄, 整数型
.程序集变量 集_获取群员防卡线程, 整数型
.程序集变量 集_热键F3, 整数型
.子程序 _窗口1_创建完毕
集_开始工作 = 假
通用对话框1.过滤器 = “图片文件|*.png;*.jpg”
集_热键F4 = 注册热键 (取窗口句柄 (), 标签1.取窗口句柄 (), 0, #F4键)
集_热键F3 = 注册热键 (取窗口句柄 (), 标签1.取窗口句柄 (), 0, #F3键)
全_Uin = 文本_取出中间文本 (全_Cookie, “uin=o”, “;”, , )
标签1.标题 = “QQ号码:” + 全_Uin
初始化 ()
.子程序 初始化
.局部变量 a, 整数型
.局部变量 正则, 正则表达式类
.局部变量 局_表项数, 整数型
正则.创建 (#正则表达式_群列表, QQ群_群列表 (1, ), , , , )
.计次循环首 (正则.取匹配数量 (), a)
  局_表项数 = 超级列表框1.插入表项 (, , , , , )
  超级列表框1.置标题 (局_表项数, 0, 到文本 (超级列表框1.取表项数 ()))
  超级列表框1.置标题 (局_表项数, 1, 正则.取子匹配文本 (a, 2, ))
  超级列表框1.置标题 (局_表项数, 2, 正则.取子匹配文本 (a, 1, ))
  处理事件 ()
.计次循环尾 ()
' ====================================================================
编辑框1.内容 = 读配置项 (取运行目录 () + “\@Set.ini”, “编辑框”, “宣传语”, )
编辑框2.内容 = 读配置项 (取运行目录 () + “\@Set.ini”, “编辑框”, “图片地址”, )
.判断开始 (读配置项 (取运行目录 () + “\@Set.ini”, “选择框”, “跳过群主/管理”, ) = “1”)
  选择框1.选中 = 真
.默认
  选择框1.选中 = 假
.判断结束
.子程序 _超级列表框1_当前表项被改变
线程_启动 (&防卡_获取群员, , 集_获取群员防卡线程)
.子程序 防卡_获取群员
.局部变量 a, 整数型
.局部变量 正则, 正则表达式类
.局部变量 局_表项数, 整数型
.局部变量 局_群人数量, 文本型
.局部变量 局_群人数, 文本型
.局部变量 局_循环次数, 整数型
.局部变量 局_群人数前, 整数型
.局部变量 b, 整数型
状态条1.置文本 (1, “正在获取群成员数量...”)
选择夹1.现行子夹 = 1
局_群人数量 = QQ群_群成员 (0, 超级列表框1.取标题 (超级列表框1.现行选中项, 2), , )
状态条1.置文本 (1, “该群共有人数:” + 局_群人数量 + “人...”)
局_循环次数 = 取整 (到整数 (局_群人数量) ÷ 100)
局_群人数前 = 0
.计次循环首 (局_循环次数 + 1, )
  局_群人数 = QQ群_群成员 (1, 超级列表框1.取标题 (超级列表框1.现行选中项, 2), 到文本 (局_群人数前), 到文本 (到整数 (局_群人数前) + 100))
  局_群人数前 = 局_群人数前 + 101
  正则.创建 (#正则表达式_群成员, 局_群人数, , , , )
  .计次循环首 (正则.取匹配数量 (), a)
    局_表项数 = 超级列表框2.插入表项 (, , , , , )
    超级列表框2.置标题 (局_表项数, 0, 到文本 (超级列表框2.取表项数 ()))
    超级列表框2.置标题 (局_表项数, 1, 正则.取子匹配文本 (a, 1, ))
    超级列表框2.置标题 (局_表项数, 2, 正则.取子匹配文本 (a, 3, ))
    .如果真 (正则.取子匹配文本 (a, 2, ) = “0”)
      超级列表框2.置标题 (局_表项数, 3, “群主”)
    .如果真结束
    .如果真 (正则.取子匹配文本 (a, 2, ) = “1”)
      超级列表框2.置标题 (局_表项数, 3, “管理”)
    .如果真结束
    .如果真 (正则.取子匹配文本 (a, 2, ) = “2”)
      超级列表框2.置标题 (局_表项数, 3, “群员”)
    .如果真结束
    处理事件 ()
  .计次循环尾 ()
  超级列表框2.保证显示 (超级列表框2.取表项数 () - 1)
  处理事件 ()
  状态条1.置文本 (1, “已获取群员” + 到文本 (超级列表框2.取表项数 ()) + “个...”)
.计次循环尾 ()
状态条1.置文本 (1, “已获取群员” + 到文本 (超级列表框2.取表项数 ()) + “个,线程已销毁...”)
线程_销毁 (集_获取群员防卡线程)
.子程序 _标签1_反馈事件, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型
.局部变量 聊天窗口, 整数型
.局部变量 a, 整数型
.局部变量 Firends, 文本型, , "0"
.局部变量 Count, 整数型
.局部变量 Number, 整数型
.如果真 (参数一 = 集_热键F4)
  状态条1.置文本 (1, “任务开始...”)
  集_开始工作 = 真
  集_窗口句柄 = _鼠标取坐标句柄 (取鼠标水平位置 (), 取鼠标垂直位置 ())
  聊天窗口 = 聊天窗口_取句柄 (集_窗口标题)
  .判断循环首 (聊天窗口 = 0)
    聊天窗口 = 聊天窗口_取句柄 (集_窗口标题)
  .判断循环尾 ()
  .计次循环首 (超级列表框2.取表项数 (), a)
    .判断开始 (选择框1.选中 = 真)
      .如果真 (超级列表框2.取标题 (a - 1, 3) = “群员”)
        加入成员 (Firends, 超级列表框2.取标题 (a - 1, 2)) ' 加入非群主\管理数组
      .如果真结束
    .默认
      加入成员 (Firends, 超级列表框2.取标题 (a - 1, 2)) ' 加入全部成员数组
    .判断结束
  .计次循环尾 ()
  Count = 绝对取整 (取数组成员数 (Firends) ÷ 20) ' 计算外循环次数
  .如果真 (Count × 20 < 取数组成员数 (Firends)) ' 判断余数
    Count = Count + 1 ' 有余数,加上1
  .如果真结束
  .计次循环首 (Count, )
    .如果真 (集_开始工作 = 假)
      跳出循环 ()
    .如果真结束
    .计次循环首 (20, )
      .如果真 (集_开始工作 = 假)
        跳出循环 ()
      .如果真结束
      Number = Number + 1
      .如果真 (Number > 取数组成员数 (Firends))
        Number = 0
        跳出循环 ()
      .如果真结束
      文本_投递 (聊天窗口, “@” + Firends [Number])
      程序_延时 (100, )
      键盘_消息 (聊天窗口, #回车键, 5, )
    .计次循环尾 ()
    .如果真 (集_开始工作 = 假)
      跳出循环 ()
    .如果真结束
    剪辑板_置图片 (读入文件 (编辑框2.内容))
    文本_投递 (聊天窗口, 编辑框1.内容)
    程序_延时 (100, 0)
    键盘_组合按键 (#V键, #Ctrl键, , )
    .如果真 (Number ≥ 0)
      程序_延时 (100, ) ' 这里模拟到20次发送的按键
      键盘_消息 (聊天窗口, #回车键, 5, )
    .如果真结束
  .计次循环尾 ()
.如果真结束
.如果真 (参数一 = 集_热键F3)
  状态条1.置文本 (1, “正在结束任务...”)
  集_开始工作 = 假
.如果真结束
状态条1.置文本 (1, “任务已结束...”)
.子程序 聊天窗口_取句柄, 整数型
.参数 昵称, 文本型
.局部变量 局_句柄, 整数型
.局部变量 rest, 文本型
.局部变量 窗口标题, 文本型
.局部变量 jx, 精易_矩形
.局部变量 arr, 整数型, , "0"
.局部变量 n, 整数型
窗口_模糊遍历窗口 (, “TXGuiFoundation”, , arr)
.计次循环首 (取数组成员数 (arr), n)
  rest = 窗口_取控件内容 (arr [n])
  窗口标题 = 窗口_取标题 (arr [n])
  .如果真 (rest ≠ “” 且 rest = 窗口标题 且 rest ≠ “TXMenuWindow” 且 rest ≠ “QQ” 且 rest ≠ “增加时长” 且 rest ≠ “电脑管家” 且 rest ≠ “勋章墙”)
    jx = 窗口_取位置和大小 (arr [n])
    窗口_还原 (arr [n])
    .如果真 (jx.右边 > 596 且 jx.底边 > 520)
      .如果真 (寻找文本 (rest, 昵称, , 假) ≠ -1)
        返回 (arr [n])
      .如果真结束
    .如果真结束
  .如果真结束
.计次循环尾 ()
返回 (0)
.子程序 取窗口信息
.局部变量 矩形, 精易_矩形
.局部变量 窗口坐标, 精易_坐标
.局部变量 屏幕坐标, 精易_坐标
处理事件 ()
矩形 = 窗口_取位置和大小 (集_窗口句柄)
集_窗口标题 = 窗口_取标题 (集_窗口句柄)
屏幕坐标 = 鼠标_取位置 ()
窗口坐标 = 鼠标_取窗口坐标 (窗口_取鼠标处窗口句柄 ())
.子程序 _按钮1_被单击
通用对话框1.类型 = 0
.如果真 (通用对话框1.打开 () = 真)
  编辑框2.内容 = 通用对话框1.文件名
  写配置项 (取运行目录 () + “\@Set.ini”, “编辑框”, “图片地址”, 编辑框2.内容)
.如果真结束
.子程序 _选择框1_被单击
.判断开始 (选择框1.选中 = 真)
  写配置项 (取运行目录 () + “\@Set.ini”, “选择框”, “跳过群主/管理”, “1”)
.默认
  写配置项 (取运行目录 () + “\@Set.ini”, “选择框”, “跳过群主/管理”, “0”)
.判断结束
.子程序 _编辑框1_内容被改变
写配置项 (取运行目录 () + “\@Set.ini”, “编辑框”, “宣传语”, 编辑框1.内容)

QQ快捷登陆启动窗口

.版本 2
.支持库 HtmlView
.程序集 窗口程序集_启动窗口
.程序集变量 集_QQ群号, 文本型
.子程序 __启动窗口_创建完毕
网页_清除Cookie (“qun.qq.com”)
.子程序 _超文本浏览框1_跳转完毕
.如果真 (超文本浏览框1.地址 = “http://qun.qq.com/member.html”)
  全_Cookie = 网页_取Cookie (“qun.qq.com”, )
  .' 如果真 (QQ群_群列表 (0, 集_QQ群号) = “验证成功”)
    ' 信息框 (“验证成功”, 0, , )
    载入 (窗口1, , 假)
    _启动窗口.销毁 ()
  .如果真结束
  .' 如果真 (QQ群_群列表 (0, 集_QQ群号) = “验证失败”)
    ' 信息框 (“验证失败”, 0, , )
    ' 结束 ()
  .如果真结束
.如果真结束

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。