实现挂机会议

png

py文件

python 复制代码
import os
import pyautogui
import time
from typing import Callable, Tuple
from datetime import datetime
import cv2

#通过图像模板匹配在屏幕上找到指定区域并操作
def imgAutoClick(tempFile: str, whatDo: Callable[[Tuple[int, int, int, int]], None], debug: bool = False):
    #截图
    screenshot_path = 'big.png'
    pyautogui.screenshot(screenshot_path)
    #加载和处理图像
    gray = cv2.imread(screenshot_path, cv2.IMREAD_GRAYSCALE)
    img_template = cv2.imread(tempFile, cv2.IMREAD_GRAYSCALE)
    #获取模板尺寸
    w, h = img_template.shape[::-1]
    #模板匹配
    res = cv2.matchTemplate(gray, img_template, cv2.TM_SQDIFF)
    min_val, _, min_loc, _ = cv2.minMaxLoc(res)
    #计算边界框坐标
    top_left = min_loc
    bottom_right = (top_left[0] + w, top_left[1] + h)
    #移动鼠标并执行操作
    pyautogui.moveTo(top_left[0] + w / 2, top_left[1] + h / 2)
    whatDo((top_left[0], top_left[1], w, h))
    #调试
    if debug:  
        img = cv2.imread(screenshot_path)
        cv2.rectangle(img, top_left, bottom_right, (0, 0, 255), 2)
        img_resized = cv2.resize(img, (0, 0), fx=0.5, fy=0.5, interpolation=cv2.INTER_NEAREST)
        cv2.imshow("Processed", img_resized)
        cv2.waitKey(0)
        cv2.destroyAllWindows() 
    #清理截图
    os.remove(screenshot_path)

#登录会议
def signIn(meeting_id):
    #会议路径
    os.startfile(r"xxxxxxxx")
    time.sleep(10)
    #会议图标
    imgAutoClick("xxxxtubiao.png", pyautogui.click, False)
    time.sleep(1)
    #加入会议
    imgAutoClick("xxxxjoinbtn.png", pyautogui.click, False)
    time.sleep(1)
    #输入会议号
    imgAutoClick("xxxxmeeting_id.png", pyautogui.click, False)
    pyautogui.write(meeting_id)
    time.sleep(2)
    #最后加入会议
    imgAutoClick("xxxxxfinal.png", pyautogui.click, False)
    time.sleep(1)


#再次登录会议
def signIn_two(meeting_id):
    #加入会议
    imgAutoClick("xxxxxxjoinbtn.png", pyautogui.click, False)
    time.sleep(1)
    #输入会议号
    imgAutoClick("xxxxxmeeting_id.png", pyautogui.click, False)
    pyautogui.write(meeting_id)
    time.sleep(2)
    #最后加入会议
    imgAutoClick("xxxxxfinal.png", pyautogui.click, False)
    time.sleep(1)


#设置时间
while True:
    #获取当前时间
    now = datetime.now()
    #判断是否是周六
    if now.weekday() == 5:
        #开始时间
        start_time = datetime(now.year, now.month, now.day, 14, 00, 0).strftime("%H:%M:%S")
        #结束时间
        end_time = datetime(now.year, now.month, now.day, 17, 30, 0).strftime("%H:%M:%S")
        #当前时间
        current = now.strftime("%H:%M:%S")
        #会议号
        meeting_id = '11111111'
        #间隔一小时进行操作
        if start_time <= current <= end_time:
            if current == "14:00:00":
                signIn(meeting_id)
                time.sleep(5)
            elif current == "15:00:00":
                signIn_two(meeting_id)
                time.sleep(5)
            elif current == "16:00:00":
                signIn_two(meeting_id)
                time.sleep(5)
            elif current == "17:00:00":
                signIn_two(meeting_id)
                time.sleep(5)
    else:
        print("Today is not Saturday.")
        break

bat文件

bash 复制代码
@echo off
输出当前工作目录
echo Current directory: %cd%
输出Python 解释器的路径
echo Python path: "xxxxx.exe"
输出py脚本的路径
echo Script path: "xxxxx.py"
执行指定的 py脚本
"xxxxx.exe" "xxxxx.py"
pause

vbs

bash 复制代码
在后台最小化命令提示符窗口并执行批处理文件
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "xxxxxxx.bat" & Chr(34), 7
相关推荐
最强小杰12 分钟前
Claude Opus 4.8 调用报 529 怎么办?并发限制触发过载——退避策略与降级方案完整指南
运维·网络·python·ai
databook25 分钟前
MinMax vs Standard vs Robust:三种特征缩放怎么选
python·机器学习·数据分析
在世修行27 分钟前
智学文枢:实体模型层
python·orm·sqlalchemy
张张123y1 小时前
# 后端第七课:FastAPI 实战入门(用刚学的 Python 写第一个 API 接口)
开发语言·python·mysql·api·fastapi
CCblandy1 小时前
一致性哈希到底省了多少搬迁?本机实测 3 轮:取模 6→7 搬 85.8%,V=128 只搬 14.3%,虚拟节点太少会被倾斜骗
后端·python·云原生·性能优化·架构
Yan-英杰1 小时前
【论文精读】 基于 TensorFlow 对卷积神经网络的优化研究:异构式 CPU+GPU 协同计算 + ReLU-Swish 激活函数
python·卷积神经网络
ydjs678899-bot1 小时前
如何在Java中打印pdf静默打印和打印对话框选择
java·python·pdf
程序员JerrySUN1 小时前
Jetson Edge AI 实战05:Secure Boot 到底在保护什么?PKC、SBK、Fuse 与可信启动链一次讲清【视频讲解】
arm开发·人工智能·安全·计算机视觉·目标跟踪·音视频
把我格子衫拿来2 小时前
误差预算怎么做?从雅可比到蒙特卡洛的三维定位不确定度分析
python·蒙特卡洛·三维定位·误差分析·不确定度
文章永久免费只为良心2 小时前
Ctfshow_Web应用安全与防护_第二章_无字母数字命令执行
前端·python·安全·网络安全·渗透测试·ctf·红队渗透测试