跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
  • 友情链接
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠

酸枝论坛

chenniC

ChenNi

@chenni
关于
帖子
1
主题
1
群组
0
粉丝
0
关注
0

帖子

最新 最佳 有争议的

  • [chenni]基于python pyautogui和uiautomation库的抢志愿脚本
    chenniC ChenNi
    以下是本人一时兴起琢磨的一个基于uiautomation库和pyautogui库的抢志愿脚本, 不过由于本人懒散成性没有完成项目打包, 只有一个py文件, 需要大家自行配置环境.
    
    # coding:utf-8
    import uiautomation as auto
    import pyautogui
    import pyperclip
    
    mainWindow = auto.PaneControl(Name="QQ", ClassName="Chrome_WidgetWin_1")
    
    # mainWindow.MoveCursorToMyCenter()
    # list_text = mainWindow.TextControl()
    # text = list_text.
    # print(type(list_text))
    
    win_mes = mainWindow.WindowControl(Name="消息列表")
    juge = True
    site = 0
    m = 0
    last_text =""
    first_mes = win_mes.TextControl().Name
    # print(type(first_mes))
    while juge:
        site = 0
        new_mes = win_mes.TextControl().Name
        # print("已捕获")
        print(new_mes)
        if new_mes != first_mes:
            for i in new_mes:
                # print(i)
                site += 1
                if i == "+" or i == "➕" or i == "+":
                    m += 1
                    if m == 2:
                        break
            if m == 2:
                juge = False
    
    
    # print(site)
    # print(len(new_mes))
    for j in range(site,len(new_mes)):
        last_text += new_mes[j]
    
    print(last_text + "1")
    # print(last_text)
    pyperclip.copy("2077xxx"+last_text)
    # pyperclip.paste()
    pyautogui.hotkey('ctrl','v')
    pyautogui.press('enter')
    # 插曲
    """
    mes_src = []
    
    for c, d in auto.WalkControl(win_mes):
    if c.ControlType not in [auto.ControlType.TextControl]:
    continue
    
    print(type(c.Name), type(d))
    mes_src.append(c.Name)
    print(mes_src)
    print(type(auto.WalkControl(mes_q)))
    """
    # 以上为使用uiautomation中的WalkControl方法来遍历传入的控件下的所有控件, 传回c, d值分别为控件和遍历深度, 需要注意的是传回时使用generator类型, 一次程序中只能遍历一次, 无法获取实时改变
    

    该脚本主要通过循环实时抓取windows窗口的控件并获取聊天相关控件的文本内容, 然后切割文本内容获取志愿口令.
    最后与预设好的姓名班级字符串拼接, 用键盘控制指令在群聊中发出.
    在使用时, 运行脚本后有大约4-5s的时间将志愿群聊的qq窗口切出并把鼠标指针放在聊天输入框中, 当脚本识别到含有口令的文本时会自动执行.

    问题: 该脚本对聊天文本的筛选指标是文本中是否包含两个加号, 然后直接截取第二个加号后的内容作为志愿指令, 青协的文本在某些特殊情况下会在文本最后加一些非指令内容, 此时该脚本无法准确识别, 不过可以满足90%的口令志愿
    

    注意: 仅适用9.0以上的电脑端QQ

  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
  • 友情链接