0

有没有办法从粘贴板中全局删除当前项目(Command+V在任何应用程序中按下时都会显示的项目)并使其按下Command+V粘贴最后一个复制的项目?

假设我复制foo然后bar,我在我的应用程序中按下一个bar从粘贴板中删除的按钮,现在如果我按下Command+V任何地方(在任何应用程序中)我看到foo粘贴并且bar无处可见,它已经完全从用户的机器上消失了。

4

1 回答 1

1

不,你不能这样做。系统粘贴板没有任何“最近粘贴板项目”机制。

事实上,复制的数据甚至不一定在粘贴板上。应用程序可以通过将类型放入可用类型列表中来“承诺”粘贴板数据,但不将任何数据放在那里。一个对象被注册为该类型的“所有者”。如果其他应用程序请求该类型的数据,则要求所有者在那时提供它。这尤其适用于粘贴板数据的生产、从源应用程序传输到粘贴板服务器并存储起来成本高昂的情况。

因此,仅仅因为您在应用程序中复制了“foo”,并不意味着“foo”曾经出现在粘贴板上。因此,没有办法回到粘贴板上有“foo”。

此外,当其他东西清除粘贴板以在其上放置新数据时,所有承诺数据的所有者都会收到通知,以便他们可以清理他们可能记录的任何状态以履行该承诺。因此,一旦将“bar”放在粘贴板上,即使源应用程序也无法提供“foo”。

于 2015-02-14T17:23:59.783 回答