nspasteboard相关内容

如何使用 Cocoa 将文本从一个应用程序粘贴到另一个应用程序?

我在 Apple 文档中阅读了有关 NSPasteBoard 的信息,以及它如何允许应用程序写入 PasteBoard 并允许其他应用程序读取该文本并使用它. 谁能告诉我如何将文本从应用程序(位于状态栏中)粘贴到另一个应用程序内的 NSTextField 中. 我想做的是类似于 Snippet 和 SnippetsApp 做. 如果我完全愚蠢并且错过了 Apple Docs 中的 ..
发布时间:2022-01-20 18:15:38 其他开发

我可以在写入 NSPasteboard 时收到回调吗?

我已阅读 Apple 的 粘贴板编程指南,但它没有回答我的特定问题. 我正在尝试编写一个 Cocoa 应用程序(适用于 OS X,而不是 iOS),它将跟踪写入 通用粘贴板(因此,每当任何应用程序复制和粘贴,但不是,比如说,拖放,这也使用了 NSPasteboard).我可以(几乎)通过不断轮询后台线程上的通用粘贴板并检查 changeCount.当然,这样做会让我觉得里面很脏. 我的 ..
发布时间:2021-12-17 22:59:34 其他开发

剪&使用 NSPasteboard 粘贴文件

我们应该如何切割 &使用 NSPasteboard 粘贴文件?目前我通过写入和读取文件 URL 来实现复制和粘贴.cut 的问题是,在我将 URL 写入粘贴板后,我必须删除该文件.当我尝试粘贴文件时,它不再存在,我无法复制它.我应该在粘贴板上写其他东西吗?我也想过将文件复制到临时隐藏位置,但这似乎有点低效.还有其他解决办法吗? 解决方案 您可以使用 kPasteboardTypeFileP ..
发布时间:2021-11-16 20:31:41 移动开发

NSPasteboard 是否保留所有者对象?

你可以像这样调用NSPasteboard: [pboard declareTypes:types owner:self]; 这意味着粘贴板稍后会要求所有者根据需要提供类型的数据.但是,我无法从文档中找到(也许我遗漏了一些明显的流血内容),是 owner 是否被保留. 在实践中,我担心的是,如果所有者是一个弱引用,它可能会被释放,如果粘贴板然后尝试从中请求数据,则会导致崩溃. 注意: ..
发布时间:2021-11-16 20:29:43 移动开发

如何将NSPasteboard与kPasteboardTypeFileURLPromise一起使用以进行复制/粘贴?

我的应用程序希望向远程存储的文件的粘贴板添加一个承诺,并且可能永远不会粘贴-类似于粘贴从控制VM或其他远程系统的会话复制的文件.理想情况下,用户可以粘贴到Finder文件夹(或桌面)中,并且诺言将触发并消失.我愿意处理一旦触发就兑现诺言的问题,但我一直无法兑现诺言. 我发现的所有诺言代码都涉及拖放操作,这不是我所需要的功能(尽管为实现诺言,可能需要DnD中的某些内容吗?) 我尝试将 N ..
发布时间:2021-05-31 18:50:38 移动开发

使用Swift复制选定的文本

我正在OS X中编写一个弹出菜单栏应用程序. 目标是将当前处于活动状态的应用程序(不是我的弹出窗口)的选定文本复制到我的应用程序中,以便我可以将其用作字符串. 解决方案 想通了! 注意:您必须延迟粘贴功能.copyText()需要一些时间才能写入粘贴板. func copyText(){//清除粘贴板pasteBoard.clearContents()让src = CGEv ..
发布时间:2021-04-24 20:03:56 其他开发

在macOS 10.12+中接收承诺的电子邮件

以前,我使用以下内容通过拖放操作发现电子邮件元数据.从Mail.app删除电子邮件(/线程). ,如果让文件名= draggingInfo.namesOfPromisedFilesDropped(atDestination:URL(fileURLWithPath:destinationDir!)){///TODO:在将来的实现中,Mail可能会在此处返回多个文件名.///因此,我们将保留此结构以 ..
发布时间:2021-04-22 20:16:15 其他开发

将文件拖到可可OSX中的其他应用程序中

我正在尝试将Windows应用程序转换为OSX,现在一切正常,除了这个小功能,文件从我的应用程序拖放到其他任何支持拖放的窗口中。接收拖放很容易,问题出在要拖动的数据源。 我的应用程序只有1个带有1个视图的窗口,我自己绘制了每个控件。因此,我只是简单地扩展了这样的视图,例如 @interface NativeView:NSView ..
发布时间:2020-10-04 01:56:49 移动开发

剪切和使用NSPasteboard粘贴文件

我们应该如何削减&使用NSPasteboard粘贴文件?目前,我通过写入和读取文件URL来实现复制和粘贴. cut的问题是,在将URL写入粘贴板之后,必须删除文件.当我尝试粘贴文件时,该文件已不存在,无法复制.我应该在粘贴板上写些其他内容吗?我还考虑过将文件复制到一个临时的隐藏位置,但这似乎效率不高.还有其他解决方案吗? 解决方案 您可以使用kPasteboardTypeFilePromi ..
发布时间:2020-09-06 03:56:07 移动开发

在macOS上使用Swift 3从剪贴板中读取

我是Swift的初学者,我试图弄清楚如何阅读在macOS(Swift 3)上复制到剪贴板的内容?我进行了很多搜索,但似乎找不到任何有效的方法. 我从网上尝试过的一些方法: var pasteboardItems: [NSPasteboardItem]? { get } print("\(pasteboardItems)") 和 let pb = NSPasteboard.ge ..
发布时间:2020-07-31 07:49:31 移动开发

如何在Mac OS X 10.5中处理Finder中的多个文件拖放?

我需要将所有文件的URL从Finder拖放到我的应用程序中。 我有一个在10.6上运行的Cocoa应用程序,通过使用新的10.6 NAPasteboard API,可处理粘贴板上的多个项目。我试图将这个应用程序运送到10.5。如何处理这个10.5? 如果我做下面的事情,我只得到第一个URL: NSArray * pasteTypes = [NSArray arrayWithOb ..
发布时间:2017-07-14 23:31:00 其他开发

Mac听事件:复制到粘贴板

我正在阅读NSPasteboard,然后想要查找.... 我试图找到正确的通知方法它监听到剪贴板上的数据的复制事件。 此外,我正在尝试查找复制到剪贴板的数据的文件路径。 如果我从浏览器中的页面复制文本,我想知道如何获取URL的url地址 h2_lin“>解决方案 没有可用的通知。 Devara Gudda 是对的。您请求Pasteboard中的信息以检查更改(change ..
发布时间:2017-01-07 00:09:19 开发方法

如何右键单击文本和选择服务工作?

[1]当我选择并右键点击任何应用程序中的任何文本,我得到一个服务菜单,其中我可以点击调用任何服务,如使用Google搜索。 点击后,会自动发送一个 NSPasteboard [2]第三方应用程序可以使用 BOOL NSPerformService(NSString * itemName,NSPasteboard * pboard)函数来编程调用任何服务。 这里的应用程序必须设置 ..
发布时间:2016-12-08 01:14:33 移动开发

NSPasteboard是否保留所有者对象?

您可以像这样调用 NSPasteboard : [pboard declareTypes :types owner:self]; 这意味着粘贴板稍后会要求所有者根据需要提供类型的数据。但是,我不能从文档找到(也许我错过了流血明显),是否所有者被保留。 在实践中,令人担心的是,如果所有者是弱引用,它可能会被释放,导致崩溃,如果粘贴板尝试从它请求数据。 / p> ..
发布时间:2016-12-07 22:27:04 移动开发

确定当前粘贴板内容的源应用程序

来自AppStore的几个OSX剪贴板管理器显示了确定复制到剪贴板的内容的源应用程序的功能。 我正在写一些简单的剪贴板观察器和想要在内容附近显示源应用程序图标,存储在一般的NSPasteboard中。我想知道如何实现这一点。 据我所见,NSPasteboard不提供任何额外的信息,除了数据类型和数据本身。 也许有一些事件或通知可以知道触发了“复制”命令?还是其他方式? 解决 ..
发布时间:2016-12-07 18:51:21 其它移动开发

如何先保存粘贴板内容,然后恢复?

我有一个匿名的Mac OS X应用程序,需要从其他应用程序复制选择。我通过模拟CMD + C键击实现这一点。它工作完美。 但是有一个,我觉得很关键,副作用。它会覆盖用户的粘贴板没有他们的权限。 所以我在想我之前复制选择我应该保存粘贴板内容,然后恢复。有人可以给我一些提示,也许示例代码? 解决方案 这是一个类别 NSPasteboard @implementation NSPas ..
发布时间:2016-12-07 03:53:13 其它移动开发

如何在Mac OS X 10.5中处理多个文件从Finder拖放?

我需要获取所有从Finder拖放到我的应用程序中的文件的URL。 我有一个Cocoa应用程序在10.6上运行,新的10.6 NSPasteboard API,用于处理粘贴板上的多个项目。我试图将这个应用程序退出到10.5。如何在10.5上处理这个问题? 如果我做了下面的事情,我只得到第一个URL: NSArray * pasteTypes = [NSArray arrayWit ..
发布时间:2016-12-07 02:50:28 其它移动开发

如何使用Cocoa将文本从一个应用程序粘贴到另一个应用程序?

我已经阅读了苹果文档中的 NSPasteBoard ,以及它如何允许应用程序写入 PasteBoard 并允许其他应用程序读取该文本并使用它。 有人可以告诉我如何将应用程序(位于状态栏中)中的文本粘贴到 我想要做的是类似于“的 NSTextField ://fuelcollective.com/snippet“rel =”nofollow noreferrer“> Snippet 和 ..
发布时间:2016-12-06 23:46:18 其它移动开发