求监测剪贴板变化的软件

有时会出现这样的尴尬。复制了文件或者文字,到另一个地方粘贴,结果发现没有复制成功。
求监测软件。
一旦剪贴板发生变化,就有气泡提示。

找gpt写了个python。结果两个小时后,python.exe就把内存吃完了。
不知道是哪里有问题

import time
import pyperclip
import tkinter as tk
from plyer import notification

def get_clipboard_content():
    root = tk.Tk()
    root.withdraw()  # 隐藏主窗口
    try:
        # 尝试获取文件路径
        content = root.clipboard_get()
        return content
    except tk.TclError:
        return None

def monitor_clipboard():
    previous_clipboard_content = pyperclip.paste()  # 获取初始剪贴板内容
    while True:
        try:
            time.sleep(1)  # 每秒检查一次剪贴板
            current_clipboard_content = get_clipboard_content()  # 获取当前剪贴板内容
            if current_clipboard_content is None:
                current_clipboard_content = pyperclip.paste()  # 如果没有文件路径,获取文本内容

            if current_clipboard_content != previous_clipboard_content:  # 如果剪贴板内容发生变化
                previous_clipboard_content = current_clipboard_content  # 更新之前的剪贴板内容
                # 弹出气泡提示
                notification.notify(
                    title='剪贴板内容变化',
                    message=f'新的剪贴板内容: {current_clipboard_content}',
                    app_name='剪贴板监测器',
                    timeout=1  # 提示显示时间(秒)
                )
        except Exception as e:
            print(f"发生错误: {e}")

if __name__ == "__main__":
    monitor_clipboard()

可以参考我的贴子:
【求助】有没有办法自动将剪切板中的图片链接转换为下载好的图片? - 问题求助:question: - 小众软件官方论坛

https://x.ws28.cn/f/fj2j3qeewgx 复制链接到浏览器打开
消息提醒在右下角处

1 个赞

亲测可用 360云查杀没问题

PasteMate这个是剪切版软件,如果你复制了内容会有声音。

  • 每次调用get_clipboard_content()都会创建一个新的tkinter根窗口,这在无限循环中可能导致资源泄漏或性能下降。
  • 改进: 将tkinter根窗口的创建移到函数外部,仅创建一次并复用。

python

复制代码

root = tk.Tk()
root.withdraw()

def get_clipboard_content():
    try:
        content = root.clipboard_get()
        return content
    except tk.TclError:
        return None

可以使用AutoHotkey脚本

#Requires AutoHotkey v2.0 
;剪贴板内容变更提示
OnClipboardChange(showTips)
showTips(*){
    showText("剪贴板已变更")
}

;提示信息显示函数
ShowText(str)
{
    showTime := 500
    windowPosition := "150"  ;表示弹出窗口位置
    MyGui := Gui()
    MyGui.Opt("+AlwaysOnTop +Disabled -Caption -SysMenu +Owner +LastFound")
    ; WinGet,hwnd,ID
    MyGui.SetFont("s26 cff9e00","Yahei Consolas Hybrid")
    MyGui.BackColor := "FF0001"
    WinSetTransColor("FF0001", MyGui)
    MyGui.Add("Text","BackgroundTrans",str)
    ; MyGui.Show("NoActivate Y" . windowPosition ." NA")
    MyGui.Show("NoActivate Y150 NA")
    Sleep showTime
    MyGui.Destroy()
}

基本上第三方剪贴板工具, 都支持声音或者气泡提示.

CopyQ 虽然自身不支持,但是可以通过添加命令的方式实现:

 [Command]
Name=复制时发声
Command="
     powershell:
     (New-Object Media.SoundPlayer \"单击.wav\").PlaySync()"
Automatic=true
Icon=
1 个赞

我是AHK 弄了实时显示当前剪贴板内文字的东西

把剪贴板工具常驻置顶也是可以的

不过 剪贴板工具 不能实时显示当前剪贴板的内容 2个配合起来用 才爽

就像现在 剪贴板里当前 是图片的外链地址

https://wwgz.lanzouw.com/b00movu50j
密码:gjco
写了一个小托盘工具,在复制时弹出通知提示

感谢大家提供思路,用quicker里面有个事件触发,然后写了个动作