【问题标题】:How to override copy-paste functionality in Windows/Linux?如何覆盖 Windows/Linux 中的复制粘贴功能?
【发布时间】:2014-05-22 16:14:09
【问题描述】:

我想覆盖 Windows/Linux 中的复制粘贴功能。我该怎么做?

大多数应用程序都支持简单的复制粘贴功能,其中复制的文本是当前选定的文本。我想修改这个功能。除了复制文本,我还想复制到剪贴板:复制文本的进程/应用程序的名称、复制粘贴的日期时间和系统的用户。

例如,当用户从浏览器中选择文本(例如“Hello World”)并将其粘贴到记事本中时,粘贴的文本应该类似于 “Hello World”(作者:,来源:chrome .exe,日期时间:....)

我该怎么做(在 Windows 或 Linux 中)?

【问题讨论】:

  • 对于Linux,可以查看Klipper的源码。
  • 我不会改变标准(我想当你这样做时,你会在很多逻辑上不愉快的情况下运行),但添加一个可以通过特殊组合键访问的新版本。典型的窗口管理器,如 Gnome 或 KDE,您可以配置为在按下特殊组合键时运行指定的程序,并且该特殊命令可以通过您想要的信息扩展当前选择。时间当然很容易,但我不确定从哪里获得有关选择来源的信息。

标签: linux windows copy-paste


【解决方案1】:

我已经有一段时间没有查看剪贴板了,但基本上,您只需创建剪贴板更改事件列表,操作系统将发送给所有感兴趣的应用程序。

当剪贴板发生变化时,查看当前内容。如果是文本(也可以是 HTML 或应用程序特定的二进制数据),则获取当前内容,附加您想要的信息并设置新的剪贴板内容。

如果您使用 Java,则可以使用 Toolkit.getDefaultToolkit().getSystemClipboard(); 访问剪贴板,然后为各种事件添加侦听器。

相关:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-25
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-29
    • 1970-01-01
    相关资源
    最近更新 更多