gpt4 book ai didi

macos - 在 NSPasteboard 中用第二个最新项目替换最新项目

转载 作者:行者123 更新时间:2023-12-03 17:50:37 27 4
gpt4 key购买 nike

有没有一种方法可以从粘贴板中全局删除当前项目(在任何应用程序中按 Command+V 时将显示的项目)并使其能够按 Command+ V 粘贴最后复制的项目?

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

最佳答案

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

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

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

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

关于macos - 在 NSPasteboard 中用第二个最新项目替换最新项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28517874/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com