QQ每日自动答到python程序


前言

学校要求每天定时上报宿舍情况,由于比较懒,不想自己定时上报,所以尝试用python写了这个代码。

一、使用方法

Windows创建每日计划任务,每天定时运行该脚本

二、代码

1.需要自己下载一些库文件

一般在cmd中 pip install *** 就可以了,好像只有win32gui需要pip install pywin32

import win32gui
import pyautogui
import pyperclip
from win10toast import ToastNotifier
import time
import os

2.代码

代码如下(示例):

import win32gui
import pyautogui
import pyperclip
from win10toast import ToastNotifier
import time
import os


def uphelp():
    handleqqmain = win32gui.FindWindow(None, 'QQ')
    left, top, right, bottom = win32gui.GetWindowRect(handleqqmain)
    if left-right == 494 & top-bottom == 470:  # 通过检测qq窗体大小判断获得的句柄是否是登录窗体,我的qq登录窗体大小为这样,我猜大家都一样
        print("QQ自动登录失败!")
    else:
        win32gui.SetForegroundWindow(handleqqmain)  # 将qq窗体放在最前面
        pyautogui.moveTo(left + 100, top + 166,
                         duration=1)  # 用1s移动鼠标到qq搜索框
        pyautogui.leftClick()
        pyperclip.copy("****群聊")  # 将你要发送的群或者人的名字的文本读取到剪切板
        pyautogui.hotkey('ctrl', 'v')  # 从剪切板复制到搜索框
        time.sleep(3)
        pyautogui.hotkey('enter')  # pyautogui.press('enter') 回车进入目标窗体
        time.sleep(3)
        pyperclip.copy('到')
        pyautogui.hotkey('ctrl', 'v')
        pyautogui.press('enter')  # 回车发送
        time.sleep(3)
        
        
# 检测网络连通性
def netCheck():
    exit_code = os.system('ping www.baidu.com')
    if exit_code:
        print('设备没有连接网络')
    else:
        print('网络连通')
    return exit_code

#退出qq
def quit_qq():  
    handleqqmain = win32gui.FindWindow(None, 'QQ')
    left, top, right, bottom = win32gui.GetWindowRect(handleqqmain)
    pyautogui.moveTo(right-20, top+20)  # 立刻将鼠标移动到关闭按钮
    time.sleep(1)
    pyautogui.leftClick()
    print("上报结束")



if __name__ == "__main__":
    a = netCheck()

    if a == 0:  # 网络联通
        handleqqmain = win32gui.FindWindow(None, 'QQ')  #如果要抓的窗体不存在返回句柄为0,无效
        if handleqqmain == 0:
            print("当前QQ不在线")
            # 打开qq
            os.startfile(
                "D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe")
            time.sleep(15)  # 等待qq自动登录
            
        uphelp()  # 上报

        if handleqqmain == 0:  # 如果qq原本为关闭状态则关闭qq
            quit_qq()

        #使用win10的通知栏通知上报结束
        toaster = ToastNotifier()
        toaster.show_toast(title="答到程序", msg="今日答到程序已执行!",
                           icon_path=None, duration=10)


总结

提示:谨慎使用,小心翻车

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值