好友
阅读权限10
听众
最后登录1970-1-1
|
写了个粘贴剪切板工具,自己用,有个BUG
在服务器IPMI kvm中粘贴是,KVM可能有个热键F2,会输入大写‘B'’,导致输入在头部会多个字符。
请大佬继续修改。
import tkinter as tk
from tkinter import messagebox
import pyperclip
import pyautogui
import keyboard # 需要安装这个库
import sys
import time
def show_clipboard_content():
try:
content = pyperclip.paste()
messagebox.showinfo("剪贴板内容", content if content else "剪贴板为空!")
except Exception as e:
messagebox.showerror("错误", str(e))
def paste_clipboard_content():
try:
if content := pyperclip.paste():
# pyautogui.press('backspace') # 删除前一个字符(可根据需要注释掉)
# 先激活目标窗口(可根据需要注释掉)
time.sleep(0.1) # 给窗口切换留出时间
for char in content:
pyautogui.typewrite(char)
time.sleep(0.1) # 按键间隔时间
else:
messagebox.showwarning("警告", "剪贴板为空!")
except Exception as e:
messagebox.showerror("错误", str(e))
def on_closing():
keyboard.unhook_all() # 释放所有键盘钩子
root.destroy()
# 初始化窗口
root = tk.Tk()
root.title("剪贴板工具-全局热键版")
root.geometry("500x250")
root.protocol("WM_DELETE_WINDOW", on_closing)
# 界面组件
tk.Label(root, text="全局热键 F2:粘贴剪贴板内容\n\n作者").pack(pady=10)
tk.Button(root, text="显示剪贴板内容", command=show_clipboard_content).pack(pady=5)
tk.Button(root, text="退出", command=on_closing).pack(pady=5)
# 注册全局热键
keyboard.add_hotkey('F2', paste_clipboard_content) # 全局监听F2
# 隐藏窗口(可选)
# root.withdraw()
root.mainloop()
|
-
免费评分
-
查看全部评分
|