问题背景

这个月因为上班忘记打卡,补打卡的次数已经用完了,现在开始扣工资了,这不能跟钱过不去啊。所以使用python写了一个上班打卡提醒的程序,Windows电脑开机时自动弹出一个提醒窗口,就提醒打卡,这样应该可以完成上班打卡的操作了。

解决方法

代码实现

这里是写了一个简单的Python脚本,它使用了Tkinter库来创建一个简单的图形用户界面(GUI),将创建一个窗口并在其中显示打卡提醒,当用户点击“打卡完成”按钮时,程序将关闭窗口。

import tkinter as tk

# 全局变量声明
root = None
text_label = None

# 关闭窗口的函数
def close_window():
    global root
    root.destroy()

# 切换文本标签颜色的函数
def toggle_text_color():
    global text_label
    if text_label.cget("fg") == "red":
        text_label.config(fg="white")
    else:
        text_label.config(fg="red")
    root.after(500, toggle_text_color)  # 500毫秒后再次调用自身

# 创建窗口的函数
def create_window():
    global root, text_label
    root = tk.Tk()
    root.overrideredirect(True)
    root.configure(bg="white")  # 设置背景颜色为乳白色
    # 获取屏幕的宽度和高度
    screen_width = root.winfo_screenwidth()
    screen_height = root.winfo_screenheight()

    # 计算窗口的宽度和高度
    window_width = 1300
    window_height = 500

    # 计算窗口的初始位置(居中)
    x_coordinate = (screen_width // 2) - (window_width // 2)
    y_coordinate = (screen_height // 2) - (window_height // 2)

    # 设置窗口的初始位置和大小
    root.geometry(f"{window_width}x{window_height}+{x_coordinate}+{y_coordinate}")
        
    # 创建文本标签并设置属性
    text_label = tk.Label(root, text="上班打卡!!!", font=("Arial", 90), fg="red", bd=0)  # 设置边框宽度为0
    text_label.pack(expand=True, fill=tk.BOTH, padx=20, pady=20)  
    
    # 创建“打卡完成”按钮
    def on_check_in():
        close_window()  # 点击按钮时调用关闭窗口的函数
    check_in_button = tk.Button(root, text="打卡完成", command=on_check_in)
    check_in_button.pack(pady=20)  # 在标签下方添加一些空间,然后放置按钮

    # 开始文字颜色闪烁
    toggle_text_color()

# 创建Tkinter主窗口
create_window()
root.mainloop()

然后把这个代码打包成EXE文件,打包EXE的操作可以参考往期文章《怎么把Python脚本打包成可执行程序?》,这样就可以方便在没有python环境的电脑上运行。

上班总是忘打卡,怎么办?电脑开机启动提示打卡,办公必备神器_Windows自动化

自动化步骤

在这里我们需要使用Windows的任务计划程序。以下是设置步骤:

  • 打开“任务计划程序”(可以在开始菜单搜索)。
  • 在“操作”菜单中选择“创建基本任务...”。
  • 输入任务的名称和描述,例如“上班打卡提醒”。
  • 选择“当我登录时”作为触发器。
  • 选择“启动程序”作为操作,并浏览到你的EXE文件。
  • 完成设置并保存任务。

现在,每次Windows启动并登录时,你的打卡提醒程序就会自动运行。