import tkinter as tk
import pyautogui
import datetime
import keyboard
# pyautogui.PAUSE=0.1
# 添加一个全局变量作为停止标志
running = True
root_window = tk.Tk() #建立窗口
root_window.resizable(0,0) #设置窗口不可改变大小
root_window.title("定时点击器") #设置窗口标题
kuan = root_window.winfo_screenwidth() #获取电脑屏幕尺寸:宽
gao = root_window.winfo_screenheight() #获取电脑屏幕尺寸:高
root_window.geometry(f"900x700+{kuan//3}+{gao//12}") #按照电脑显示设置窗口大小
root_window["background"] = 'light green' #设置窗口背景色
var0 = tk.StringVar() #系统时间
var1 = tk.StringVar() #设定时间
var2 = tk.StringVar() #点击次数
var3 = tk.StringVar() #坐标1
var4 = tk.StringVar() #坐标2
var5 = tk.StringVar() #坐标3
var6 = tk.StringVar() #坐标4
var7 = tk.StringVar() #坐标显示
def on_stop_key_pressed(e):
global running
if e.name == 'esc': # 当用户按下ESC键时停止
running = False
keyboard.on_press(on_stop_key_pressed)
def ShuaXin():
a = str(datetime.datetime.now().strftime('%H:%M:%S:%f'))[0:10]
var0.set(a)
xy = pyautogui.position()
var7.set(str(xy))
root_window.after(100, ShuaXin)
ShuaXin()
def DianJi():
global running
running = True
a1 = str(datetime.datetime.now().strftime('%H:%M:%S:%f'))[0:10]
print(a1)
b = str(entry1.get())
if not running:
return
if a1 == b:
print("时间到了,抢购")
num = 0
while a1 == b and running:
if entry4.get() =='' and entry5.get() =='' and entry6.get() =='' and entry3.get() != '':
x3 = int(entry3.get().split(',')[0])
y3 = int(entry3.get().split(',')[1])
pyautogui.click(x3, y3)
if entry5.get() =='' and entry6.get() =='' and entry3.get() != '' and entry4.get() != '':
x3 = int(entry3.get().split(',')[0])
y3 = int(entry3.get().split(',')[1])
x4 = int(entry4.get().split(',')[0])
y4 = int(entry4.get().split(',')[1])
pyautogui.click(x3, y3)
pyautogui.click(x4, y4)
if entry6.get() == '' and entry3.get() != '' and entry4.get() != '' and entry5.get() != '':
x3 = int(entry3.get().split(',')[0])
y3 = int(entry3.get().split(',')[1])
x4 = int(entry4.get().split(',')[0])
y4 = int(entry4.get().split(',')[1])
x5 = int(entry5.get().split(',')[0])
y5 = int(entry5.get().split(',')[1])
pyautogui.click(x3, y3)
pyautogui.click(x4, y4)
pyautogui.click(x5, y5)
if entry3.get() != '' and entry4.get() != '' and entry5.get() != '' and entry6.get() != '':
x3 = int(entry3.get().split(',')[0])
y3 = int(entry3.get().split(',')[1])
x4 = int(entry4.get().split(',')[0])
y4 = int(entry4.get().split(',')[1])
x5 = int(entry5.get().split(',')[0])
y5 = int(entry5.get().split(',')[1])
x6 = int(entry6.get().split(',')[0])
y6 = int(entry6.get().split(',')[1])
pyautogui.click(x3, y3)
pyautogui.click(x4, y4)
pyautogui.click(x5, y5)
pyautogui.click(x6, y6)
num += 1
if num == int(entry2.get()) or not running:
# os.system("shutdown -h")
break
root_window.after(100,DianJi)
LB0 = tk.Label(root_window,text="系统时间:",font=("宋体",16),relief='groove',background='yellow')
LB0.grid(row=0,column=0,padx=10,pady=10)
entry0= tk.Entry(root_window,textvariable=var0,font=("宋体",22))
# entry0.config(justify='center')
entry0.grid(row=0,column=2,padx=10,pady=10)
LB1 = tk.Label(root_window,text="点击时间:",font=("宋体",16),relief='groove',background='aqua')
LB1.grid(row=1,column=0,padx=10,pady=10)
entry1= tk.Entry(root_window,textvariable=var1,font=("宋体",22))
entry1.grid(row=1,column=2,padx=10,pady=10)
LB2 = tk.Label(root_window,text="点击次数:",font=("宋体",16),relief='groove',background='orchid')
LB2.grid(row=2,column=0,sticky="w",padx=10,pady=15)
entry2= tk.Entry(root_window,textvariable=var2,font=("宋体",22))
entry2.grid(row=2,column=2)
LB3 = tk.Label(root_window,text="坐标1:",font=("宋体",16),relief='groove',background='wheat')
LB3.grid(row=3,column=0,sticky="w",padx=10,pady=15)
entry3= tk.Entry(root_window,textvariable=var3,font=("宋体",22))
entry3.grid(row=3,column=2)
LB4 = tk.Label(root_window,text="坐标2:",font=("宋体",16),relief='groove',background='wheat')
LB4.grid(row=4,column=0,sticky="w",padx=10,pady=15)
entry4= tk.Entry(root_window,textvariable=var4,font=("宋体",22))
entry4.grid(row=4,column=2)
LB5 = tk.Label(root_window,text="坐标3:",font=("宋体",16),relief='groove',background='wheat')
LB5.grid(row=5,column=0,sticky="w",padx=10,pady=15)
entry5= tk.Entry(root_window,textvariable=var5,font=("宋体",22))
entry5.grid(row=5,column=2)
LB6 = tk.Label(root_window,text="坐标4:",font=("宋体",16),relief='groove',background='wheat')
LB6.grid(row=6,column=0,sticky="w",padx=10,pady=15)
entry6= tk.Entry(root_window,textvariable=var6,font=("宋体",22))
entry6.grid(row=6,column=2)
BT = tk.Button(root_window,text="点击开始",font=("宋体",16),width=14,height=2,relief='groove',command=DianJi,background='green')
BT.place(x=680, y=600, width=200, height=80)
entry7= tk.Entry(root_window,textvariable=var7,font=("宋体",20))
entry7.place(x=10, y=600, width=600, height=80)
root_window.mainloop()
以上就是程序源码啦。
可以设置点击时间,点击坐标最下面是实时的坐标,中间坐标设计几个就点击几个。