用python实现了一个类似按键精灵的功能,在一个可修改的pdf里依次输入序列号并打印,序列号多的时候结束程序很难被点到,所以想设置一个快捷键来中止程序。程序基与python 2.7.18, 需要调用 keyboard 库,如果没有的话可以使用 pip 安装:
pip install keyboard
这里需要用到一个 keyboard
的python库,完整程序如下:
import pyautogui as ctrl
import time
import keyboard
import sys
# 全局变量,用于控制程序是否继续运行
running = True
def on_f1_press():
"""F1按键回调函数"""
global running
print("检测到F1按键,程序即将中止...")
running = False
# 注册F1按键监听
keyboard.on_press_key('f1', lambda _: on_f1_press())
print("程序将在4秒后开始运行,按F1可随时中止程序...")
time.sleep(4)
x, y = ctrl.position()
ctrl.moveTo(x, y)
for i in range(1, 101):
# 检查是否应该中止程序
if not running:
break
ctrl.doubleClick(x, y)
ctrl.keyDown('delete')
ctrl.keyUp('delete')
ctrl.typewrite("2550-2-")
ctrl.typewrite(str(i))
ctrl.hotkey('ctrl', 'p')
time.sleep(1)
ctrl.keyDown('enter')
ctrl.keyUp('enter')
time.sleep(2)
# 取消按键监听
keyboard.unhook_all()
print("程序已结束")