吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3657|回复: 66
收起左侧

[原创工具] autohotkey写的剪贴板小工具

[复制链接]
ysjd22 发表于 2025-7-10 18:22
本帖最后由 ysjd22 于 2025-7-15 17:29 编辑

一直找不到合适自己的剪贴板工具,没办法只能自己造了。
用的autohotkey写的,没有界面,按shift+v显示在鼠标处,可 以按前面的数字粘贴,也可以鼠标点击粘贴。
可以保存50条,超过50条会顶替最先的条目,关闭再打开不保存内容。
需要管理员运行,不然可能粘贴不了。
没有界面,只能看看弹出窗口的截图:

7.15   修复打不开的问题。修改历史记录为30条。
https://wwvo.lanzouo.com/iex1f313rdtc


PixPin_2025-07-10_18-19-32.png

PixPin_2025-07-10_18-19-44.png


源码也放上,有能力的可以修改:

如何在剪贴板每一项前面增加一个锁的图标,实现点击锁定和解锁呢?水平太菜,一直写不完美!!有大佬帮忙吗?

[Asm] 纯文本查看 复制代码
#Warn All, Off
#SingleInstance Force

; 检查并请求管理员权限
if not A_IsAdmin {
    try
    {
        Run '*RunAs "' A_ScriptFullPath '"'
        ExitApp
    }
    catch as e {
        MsgBox("无法以管理员权限运行脚本: " e.Message, "错误", "Iconx")
    }
}

; 配置参数
MaxHistory := 50
PollInterval := 300

; 初始化变量
global LastClipboard := ""
global ClipboardHistory := []

; 定时器和热键
SetTimer(CheckClipboard, PollInterval)
Hotkey("+v", ShowClipboardHistory)  ; Shift+V 打开菜单

CheckClipboard() {
    global LastClipboard, ClipboardHistory
    if !ClipWait(0.1)
        return

    CurrentClipboard := A_Clipboard
    if (CurrentClipboard != LastClipboard && CurrentClipboard != "") {
        ClipboardHistory.InsertAt(1, CurrentClipboard)
        if (ClipboardHistory.Length > MaxHistory)
            ClipboardHistory.Pop()
        LastClipboard := CurrentClipboard
    }
}

ShowClipboardHistory(*) {
    global ClipboardHistory

    if (ClipboardHistory.Length = 0) {
        MsgBox("剪贴板历史记录为空", "提示", "Iconi")
        return
    }

    cbMenu := Menu()

    ; 紧凑型菜单项格式
    loop ClipboardHistory.Length {
        index := A_Index
        item := ClipboardHistory[index]
        try {
            ; 紧凑型显示文本
            displayText := StrReplace(item, "`r`n", "|")
            displayText := StrReplace(displayText, "`n", "|")
            displayText := SubStr(displayText, 1, 50)
            if (StrLen(item) > 50)
                displayText .= "..."

            ; 紧凑格式:[序号] 内容
            cbMenu.Add(index ". " displayText, ((idx) => (*) => PasteFromHistory(idx))(index))
            ; 在每个项目后添加一个小的分隔线(可选)
            if (index < ClipboardHistory.Length) {
                cbMenu.Add()  ; 添加分隔线
            }
        }
    }

    MouseGetPos(&MouseX, &MouseY)
    cbMenu.Show(MouseX, MouseY)
}

PasteFromHistory(index) {
    global ClipboardHistory

    try {
        ; 检查索引有效性
        if (index < 1 || index > ClipboardHistory.Length) {
            throw Error("无效的索引: " index)
        }

        ; 保存当前剪贴板
        savedClip := A_Clipboard
        A_Clipboard := ""
        Sleep(50)

        ; 设置剪贴板内容
        A_Clipboard := ClipboardHistory[index]
        if !ClipWait(0.5)
            throw Error("剪贴板内容设置超时")

        ; 确保窗口激活
        activeWin := WinGetID("A")
        WinActivate(activeWin)
        Sleep(200)  ; 确保窗口已激活

        ; 使用 SendInput 提高可靠性
        SendInput("^v")

        ; 恢复剪贴板
        Sleep(200)
        A_Clipboard := savedClip
    } catch as e {
        MsgBox("粘贴失败: " e.Message, "错误", "Iconx")
    }
}
























n/a
添加到词汇Audio

免费评分

参与人数 9吾爱币 +15 热心值 +9 收起 理由
shaohan142 + 1 剪贴板推荐用Ditto
女朋友 + 1 + 1 可以看看开源的EcoPaste有没有可借鉴的地方
yunfu + 1 + 1 建议添加去重功能,这样好点
AG9000 + 1 + 1 谢谢@Thanks!
cnngtc + 2 + 1 谢谢@Thanks!
ioyr5995 + 1 + 1 谢谢@Thanks!
WXJYXLWMH + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
会飞的花 + 1 + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

速度富贵浮云 发表于 2025-7-11 09:59
小知识:win10以上的系统按win+v就能显示剪切板,其他不不支持的版本可以用楼主的软件
 楼主| ysjd22 发表于 2025-7-12 16:46
anson1599 发表于 2025-7-11 08:45
 楼主| ysjd22 发表于 2025-7-10 18:41
yunzhen 发表于 2025-7-10 18:38
如果图片也可以就好了

后面会考虑
yunzhen 发表于 2025-7-10 18:36
不错,挺好用,平常没想到还可这样
dongdongmian 发表于 2025-7-11 15:59
经常复制粘贴,复制后没有了上一个复制内容,这个比较需要。。感谢楼主
yunzhen 发表于 2025-7-10 18:38
如果图片也可以就好了
 楼主| ysjd22 发表于 2025-7-10 18:44
yunzhen 发表于 2025-7-10 18:36
不错,挺好用,平常没想到还可这样

    简单满足要求
bold88 发表于 2025-7-10 18:51
链接有时候无法粘贴
 楼主| ysjd22 发表于 2025-7-10 18:53
bold88 发表于 2025-7-10 18:51
链接有时候无法粘贴

不能操作太快,1秒以内操作一次还是可以的。脚本默认设置有时间间隔,以防一些意外情况
 楼主| ysjd22 发表于 2025-7-10 21:00

适合自己的就是最好的
kankai 发表于 2025-7-10 21:08

不错,挺好用,平常没想到还可这样
 楼主| ysjd22 发表于 2025-7-10 21:12
kankai 发表于 2025-7-10 21:08
不错,挺好用,平常没想到还可这样

     自己就这么点需要,其它软件都太重了。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-4-15 07:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表