有能像 iOS 那样管理剪贴板的工具吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dzdh
V2EX    Windows

有能像 iOS 那样管理剪贴板的工具吗?

  •  
  •   dzdh 2023-11-27 09:53:50 +08:00 2048 次点击
    这是一个创建于 759 天前的主题,其中的信息可能已经有所发展或是发生改变。

    即便是手动 cv 也弹个提示的那种。防止 win 下的软件偷剪贴板的东西。

    8 条回复    2023-11-27 21:22:15 +08:00
    nulIptr
        1
    nulIptr  
       2023-11-27 09:59:26 +08:00
    从权限上讲,windows 防不了
    thinkm
        2
    thinkm  
       2023-11-27 10:01:51 +08:00
    No way
    c2const
        3
    c2const  
       2023-11-27 10:32:11 +08:00
    "手动 cv 也弹个提示的那种"
    --------------------------------------
    windows 上不知道有没有现成的,但思路应该是应用层 Hook 系统剪贴板监听、全局键盘监听,最后再套个 UI 界面 :)
    至于权限,应用层 Hook 应该就够大部分应用了,想更安全一点就上驱动对抗 :)
    Whalko
        4
    Whalko  
       2023-11-27 11:48:06 +08:00
    lz 重新定义剪贴板管理……win 上的软件真的能真的会自动读剪贴板吗?感觉不存在……就算手动 CV 了也不过是显示在输入框里而已。
    dzdh
        5
    dzdh  
    OP
       2023-11-27 11:52:25 +08:00
    @Whalko 比如各种翻译软件。复制后自动弹出翻译结果,主打一个便捷。翻译软件能做到,保不齐其他软件也会偷摸复制 比如 企鹅全家桶有没有
    matepi
        6
    matepi  
       2023-11-27 11:53:31 +08:00
    https://blog.csdn.net/find_the_ferry/article/details/121021534

    剪贴板粘贴消息的一些思考
    由于没有剪贴板粘贴时触发的相应消息,在粘贴时,是由应用进程来读取剪贴板内容来完成的粘贴操作,所以无法像捕获消息一样通过监听消息来直接捕获到粘贴操作。

    根据日常的粘贴操作情况,需要捕获键盘 CTRL+V 消息,或者 hook 粘贴板读取函数
    键盘钩子通过 SetWindowsHookEx()或 RegisterRawInputDevices()可以监视 Ctrl+V 击键。经由消息挂钩 SetWindowsHookEx()可以监视与粘贴的窗口消息,如 WM_PASTE ,EM_PASTESPECIAL ,WM_COMMAND 等,但即使是这样,也没有检测每一个可能的粘贴操作的保证。

    可能不得不求助于将代码注入目标进程,以直接挂钩查询剪贴板数据的各种 Win32 API 函数。然后,当目标进程尝试在任何类型的粘贴操作期间检索数据时,可以修改这个过程(例如让应用程序认为没有可粘贴的数据)。

    简而言之:
    没有粘贴触发消息。没法这个上面做比较靠谱的 hook 。
    geelaw
        7
    geelaw  
       2023-11-27 12:22:23 +08:00
    这件事情大概要 Windows 自己做才能做好。从权限上考虑,剪贴板是 window station 级别的对象,并且同一个 window station 里面的所有窗口都可以访问(包括高权限、普通权限、低完整级别的进程,即可以从记事本复制命令到管理员权限的命令行,等等)。

    但要完成这一点是相当困难的,因为远古时期的 API 是同步 API ,剪贴板也不例外,贸然插入一个模式对话框会导致尝试粘贴的程序假死。

    @Whalko #4 远古时期( 2003 年)的 Office 系列自带一个剪贴板历史管理工具,它显然要不断监听并读取剪贴板。
    ysc3839
        8
    ysc3839  
       2023-11-27 21:22:15 +08:00 via Android
    @geelaw 不那么考虑兼容性的话,同步模式并不是什么问题,比如 macOS 在加入了文件夹权限后,用传统 POSIX API 进行文件操作的程序,等待用户授权时也会阻塞住。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1040 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 23:23 PVG 07:23 LAX 15:23 JFK 18:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86