用户:chenjiemiao查看:35 回复:1 评论:35 创建时间:2024-07-10T15:56:07
【作品展示】

【作品介绍】
拿来报复别人很好用(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