猫史档案馆


【Python作品分享】刷屏坤

用户:chenjiemiaochenjiemiao查看:35 回复:1 评论:35 创建时间:2024-07-10T15:56:07


【作品展示】

center_image

 

【作品介绍】

拿来报复别人很好用(doge)

 

【作品源代码】

from pynput import keyboard, mouse
from pynput.keyboard import Key, Listener as KeyboardListener
from pynput.mouse import Button, Controller as MouseController
import easygui
import time

# 显示初始按钮框
x = easygui.buttonbox('welcome to use chenjiemiaoClient!\n请选择您的服务', '引导', ['多个指定位置连点', '自助刷屏'])

# 根据选择进行处理
if x == '自助刷屏':
    e = easygui.enterbox('请输入你要刷的内容')
    easygui.msgbox('按下‘ok‘后\n请按下开始快捷键')
    start_key = None
    stop_key = None

    # 捕获开始快捷键
    def capture_start_key(key):
        global start_key
        start_key = key
        return False

    with KeyboardListener(on_press=capture_start_key) as listener:
        listener.join()

    easygui.msgbox(f'开始快捷键设置为:{start_key}')
    
    # 捕获停止快捷键
    easygui.msgbox('按下’ok‘后\n请按下停止快捷键')

    def capture_stop_key(key):
        global stop_key
        stop_key = key
        return False

    with KeyboardListener(on_press=capture_stop_key) as listener:
        listener.join()

    easygui.msgbox(f'停止快捷键设置为:{stop_key}')
    
    repeat_times = easygui.integerbox('请输入重复次数', lowerbound=1, upperbound=100000)
    interval_str = easygui.enterbox('请输入刷屏间隔(秒),支持小数')

    # 将输入的间隔转换为浮点数
    try:
        interval = float(interval_str)
    except ValueError:
        easygui.msgbox('输入的间隔不是有效的数字。请重新运行程序并输入有效的数字。')
        exit()

    easygui.msgbox('使用说明:mod by chenjiemiao\n请勿商用')

    # 键盘控制器实例
    kb = keyboard.Controller()
    stop_program = False

    # 按键释放事件处理函数
    def on_release(key):
        global stop_program
        try:
            # 检查按下的键是否是取消快捷键
            if key == stop_key:
                stop_program = True
                return False  # 停止监听
            # 检查按下的键是否是开始快捷键
            elif key == start_key:
                for _ in range(repeat_times):
                    if stop_program:
                        break
                    kb.type(e)
                    kb.press(Key.enter)
                    kb.release(Key.enter)
                    time.sleep(interval)
        except AttributeError:
            pass

    # 启动键盘喵
    with KeyboardListener(on_release=on_release) as listener:
        listener.join()

elif x == '多个指定位置连点':
    # 全局鼠标控制器实例
    mouse_controller = MouseController()

    def get_mouse_position():
        return mouse_controller.position

    def capture_position(message):
        easygui.msgbox(message)
        def on_press(key):
            if key == Key.print_screen:
                pos = get_mouse_position()
                easygui.msgbox(f'记录的鼠标位置为:X={pos[0]}, Y={pos[1]}')
                return False
        with KeyboardListener(on_press=on_press) as listener:
            listener.join()
        return get_mouse_position()

    positions = []
    add_more = True

    while add_more:
        position = capture_position('按下‘ok’后\n请将鼠标移动到目标位置,然后按下 "Print Screen" 键以记录坐标。')
        x = easygui.enterbox('请输入刚才记录的X坐标', default=str(position[0]))
        y = easygui.enterbox('请输入刚才记录的Y坐标', default=str(position[1]))

        # 转换坐标为整数
        try:
            position = (int(x), int(y))
            positions.append(position)
        except ValueError:
            easygui.msgbox('输入的坐标不是有效的数字。请重新运行程序并输入有效的数字。')
            exit()

        add_more = easygui.ynbox('是否要添加更多的坐标位置?', '继续添加', ('是', '否'))

    repeat_times = easygui.integerbox('请输入重复次数', lowerbound=1, upperbound=100000)
    click_interval_str = easygui.enterbox('请输入点击间隔(秒),支持小数')

    # 将输入的间隔转换为浮点数
    try:
        click_interval = float(click_interval_str)
    except ValueError:
        easygui.msgbox('输入的间隔不是有效的数字。请重新运行程序并输入有效的数字。')
        exit()

    easygui.msgbox(f'鼠标将移动到记录的位置,并分别单击。将重复 {repeat_times} 次。')

    # 执行移动和点击操作
    for _ in range(repeat_times):
        for position in positions:
            mouse_controller.position = position
            mouse_controller.click(Button.left, 1)
            time.sleep(click_interval)  # 添加用户定义的延时,避免点击过快

    easygui.msgbox('鼠标移动并点击测试完成。')

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
Aaaa阮Aaaa阮

有什么功能呢

点赞0


评论