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

2023-11-25

我读过关于NSPasteBoard在Apple文档中,以及它如何允许应用程序写入PasteBoard并允许其他应用程序读取该文本并使用它。

有人可以告诉我如何将应用程序(位于状态栏中)的文本粘贴到NSTextField那是在不同的应用程序内。

我想做的是类似的事情Snippet and 片段应用程序 do.

如果我完全愚蠢并且错过了 Apple Docs 中明显的内容,您能否指出我正确的路径:)

Thanks!


有人可以告诉我如何将应用程序(位于状态栏中)的文本粘贴到另一个应用程序内的 NSTextField 中。

粘贴是在接收应用程序中发生的事情。写入粘贴板就是复制。

此外,您不能假设用户想要粘贴到 NSTextField 中。它可能是 NSTextView、WebView 中的文本区域、Carbon EditText 或 MLTE 控件,或者其他一些文本编辑器,例如 Qt 或 wxWidgets 文本编辑器。他们甚至可能使用带有列表视图的应用程序,让他们可以将文本直接粘贴到其中。

因此,没有任何编程方式可以直接告诉应用程序“这里有一些文本 - 请粘贴它”。您必须将其复制到通用粘贴板,然后伪造一个通常会导致最前面的应用程序粘贴的事件。 Charlie 对 ⌘V 的建议是一种方法,尽管很棘手; Dvorak 布局将 V 放在另一个键上,而“Dvorak QWERTY ⌘”布局将 V-with-⌘(而不是 V-without-⌘)放在与 QWERTY 的 V 相同的键上。

要伪造 ⌘V 事件,请查看CG事件点击。你需要使用the CGEventCreateKeyboardEvent功能要创建事件本身,并且由于该函数需要一个键代码,因此您需要查找 ⌘V 组合的 V 部分的正确键代码,这需要通过文本输入源服务 or 键盘布局服务,取决于布局。

此时,您可能会考虑使用辅助功能在“编辑”菜单中找到“粘贴”菜单项并向其发送一条 AXPress 消息,但“粘贴”和“编辑”只是这些概念的英文单词;如果您这样做,您的应用程序将无法以任何其他语言运行。您可以按顺序(第三个菜单,第六个菜单项)进行操作,但是您的应用程序将无法在没有“文件”菜单、没有“重做”菜单项或有两个“撤消”菜单项 (Photoshop) 的应用程序中运行。打造 ⌘V 活动确实是一条出路。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 分段错误:当我运行 Pygame 时为 11

    有人问过类似的问题here https stackoverflow com questions 34278488 pygame display causing segmentation fault 11 但没有得到答复 我有 Python
  • 使用 UIKeyCommand 检测删除键

    任何人都知道如何使用检测 删除 键UIKeyCommand在 iOS 7 上 当人们在使用 Swift 时遇到问题时 我认为用 Objective C 和 Swift 编写一个小型的 完整的例子可能是一个很好的答案 请注意 Swift 没有
  • 将 Armadillo C++ 库导入 Xcode

    我是 Mac 用户 正在尝试安装和导入 C Armadillo 库 以下是我到目前为止所采取的步骤 1 我从其网站下载了犰狳库 2 我仔细阅读了下载文件中的 Readme txt 文件 解释了如何安装它 3 我使用CMake将犰狳下载文件制
  • 开发者可以在 Windows 应用程序中使用 iCloud 吗?

    开发人员可以使用 Apple 的 iCloud API 在 Mac OS X 和 iOS 上的不同版本的应用程序之间同步应用程序数据 如果开发人员拥有 Windows 版本的应用程序 该版本是否也可以使用 iCloud 将应用程序数据与 M
  • 如何在 swiftUI (macOS) 中检测按键按下和释放

    除了标题之外没什么可说的 我希望能够在按下按键和释放按键时 在 macOS 上 在 swiftUI 视图中执行操作 在 swiftUI 中是否有任何好的方法可以做到这一点 如果没有 有什么解决方法吗 不幸的是 键盘事件处理是其中一个令人痛苦
  • viewController 中的 Sprite 粒子系统动画

    I create a macOS single window application and add a Sprite Particle System file with template Stars and the visual effe
  • AVCaptureDevice 找不到任何设备

    这行代码是我今天遇到的问题 macOS 应用程序 NSArray devices AVCaptureDevice devicesWithMediaType AVMediaTypeVideo 我更新Xcode后 系统总是让我空着devices
  • 如何为 NSAttributedString 内的文本设置“隐藏”属性?

    我有一个 Cocoa 应用程序NSTextView控件将其文本保存在NSAttributedString 实际上我相信这是一个NSMutableAttributedString 我可以轻松地在该字符串内的不同字符范围上设置和修改不同的文本属
  • Java Swing For mac 中的 DJ Native Swing 浏览器

    我有一个用 Swing 制作的 Java 应用程序 并且使用了一个 DJ Native Swing 浏览器 当我尝试在 OS X 上使用它时 它抛出了一个NoClassDefFoundError尽管我添加了 swt jar 但始终如此 有人
  • 如何用 kevent() 替换 select() 以获得更高的性能?

    来自Kqueue 维基百科页面 http en wikipedia org wiki Kqueue Kqueue 在内核和用户空间之间提供高效的输入和输出事件管道 因此 可以修改事件过滤器以及接收待处理事件 同时每次主事件循环迭代仅使用对
  • 获取 Mojave 上的鼠标坐标

    我有一个非常基本的小命令行应用程序 可以在下次单击鼠标时获取鼠标坐标 import
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 如何在 Perl 中复制整个目录?

    我需要将整个目录复制到某个位置 最好的方法是什么 File Copy正如我所见 仅逐个文件复制 顺便说一句 我在Windows下工作 感谢帮助 也许调查一下文件 复制 递归 http metacpan org pod File Copy R
  • Sqlite代码28“文件在打开时重命名”

    这是一个推论这个问题 https stackoverflow com questions 27784704 sqlite deadlock across multiple threads with different files nored
  • Linux 可执行文件与 OS X“兼容”吗?

    如果您在基于 Linux 的平台上用 C 语言编译一个程序 然后将其移植以使用 MacOS 库 它会工作吗 来自编译器的核心机器代码在 Mac 和 Linux 上兼容吗 我问这个问题的原因是因为两者都是 基于 UNIX 的 所以我认为这是真
  • 使用远程管理凭据将文件复制到远程计算机

    我正在使用 C 我需要能够将一组文件复制到大约 500 台不同的计算机上 我已成功地使用 LogonUser 方法来模拟具有复制文件所需权限的域帐户 文件的目标路径类似于 远程计算机 C SomeFolder 我的问题是 有没有办法做到这一
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 如何在 OSX 上安装 numpy 和 scipy?

    我是 Mac 新手 请耐心等待 我现在使用的是雪豹 10 6 4 我想安装numpy和scipy 所以我从他们的官方网站下载了python2 6 numpy和scipy dmg文件 但是 我在导入 numpy 时遇到问题 Library F
  • Mac 上用户“postgres”的密码身份验证失败

    我在创建新的 psql 用户时遇到问题 因为我无法以 postgres 身份登录 psql 我已尝试过 1 sudo u postgres psql 2 sudo u postgres createuser img site P s e 他
  • XCode 4.2.1 在 Lion 10.7.2 上启动时崩溃

    这周我买了大约 10 年来的第一台 Mac 是的 这是一台二手 Mac Pro 2x2GHz 双核 Xeon 2GB RAM 它全新安装了 Mac OS X Lion 10 7 2 我只安装了 OmniOutlner Pro Textmat

随机推荐

  • 提升无锁 spsc_queue 缓存内存访问

    我需要非常关注当前多线程项目中的速度 延迟 我试图更好地理解缓存访问 我不清楚无锁队列 例如 boost lockfree spsc queue 如何在缓存级别访问 使用内存 我见过使用队列 其中需要由消费者核心操作的大对象的指针被推入队列
  • 有没有办法使用“请求”通过 python 调用 Azure Devops?

    所以 从我所看到的大多数sources 他们说如果您尝试让 python 程序调用 azure devops api 调用 它会使用 python import 语句 例如 from azure devops connection impo
  • 如何使用android PhoneGap上传文件?

    我使用 Android PhoneGap 创建了应用程序 我想上传文件 即 当我单击上传按钮时 文件选择对话框将打开 然后我选择文件 然后单击该对话框中的打开按钮 我在phonegap API中使用文件传输 但输出不是这样的 如何修改pho
  • 如何在 Silverlight 上显示 tiff 文件?

    如何在 Silverlight 应用程序上显示 tiff 文件 我可以显示除 tiff 之外的任何图像格式 有人可以帮助我吗 谢谢 我成功地在 Silverlight 中显示 TIFF 免费移植很容易LibTiff NET库到 Silver
  • SQL Server - 遇到 0 时重置的累积总和

    我想对列进行累积和 但每当遇到 0 时都会重置聚合值 这是我尝试做的一个例子 该数据集 pk price 1 10 2 15 3 0 4 10 5 5 给出这个 pk price 1 10 2 25 3 0 4 10 5 15 在 SQL
  • Sublime Text 控制台不显示带重音符号的行

    在 Sublime Text 2 和 3 中 控制台输出不显示带有重音符号的行 我在用着Tools gt Build在 Windows 中的 vanilla Sublime 中 使用自动构建系统来执行它 有什么解决办法吗 将文档中标准系统输
  • 如何使用带有尾随空格的内联代码?

    当我使用 在我的 Sphinx 文档中 我收到以下警告 WARNING Inline literal start string without end string Trying samp leads to WARNING Inline i
  • 无法运行 Flask 文档中引用的示例代码

    我正在阅读 Flask 文档 并希望使用他们在 git 存储库中引用的示例 但是 教程与存储库中的代码不匹配 我无法运行它们 我收到以下错误 app cli command initdb AttributeError Flask objec
  • ggplot2中的渐变填充

    说一下是否有以下情节 library ggplot2 n lt 1169 df22 lt data frame x 1 n val seq 0 0 5 length out n type 1 ggplot df22 aes x x y va
  • 手臂。从超级用户模式访问用户 R13 和 R14

    如何访问进入管理员模式时保存的用户R13和R14 我使用的是 ARM7TDMI IE 我不想访问管理程序 R14 它现在包含用户模式的返回地址 而是想要用户模式链接寄存器的值 这是我正在编写的调试器的一部分 这些寄存器有特殊的别名吗 Tha
  • ImportError:尝试安装软件包时没有名为 pip 的模块

    使用 PyCharm 全新安装 Ubuntu 13 10 在设置 python 解释器时 我选择了 安装 setuptools 然后选择 安装 pip 现在 如果我尝试使用 pip 执行任何操作 我会得到以下结果 ciaran ciaran
  • 在管理站点中创建隐藏字段

    如何在管理站点中创建完全隐藏的字段 输入和标签 我知道关于exclude属性 但它完全从模板中排除该字段 而我在网页中需要它 但隐藏 class OutForm ModelForm reply to forms ModelChoiceFie
  • Cocoa:模拟 Macbook 上键和多媒体键

    我正在尝试使用以下命令模拟任何活动应用程序的上部 Macbook 键 CGEventCreateKeyboardEvent NULL CGKeyCode keycode true CGEventCreateKeyboardEvent NUL
  • 如何使 wxFrame 表现得像模态 wxDialog 对象

    是否可以使 wxFrame 对象表现得像模态对话框 创建 wxFrame 对象的窗口停止执行 直到 wxFrame 对象退出 我正在研究一个小游戏并遇到了以下问题 我有一个主程序窗口 用于托管主应用程序 战略部分 有时 我需要将控制权转移到
  • 在数组上使用 preg_replace

    我有一个相对较大的元素数组 我想搜索字符串并替换任何匹配项 我目前正在尝试使用preg replace和正则表达式 preg replace d dIPT w IPT array 我想获得所有匹配的值00IPT A or 0IPT A wi
  • 如何克服 - pip install ansible 在 Windows 上失败,文件名或扩展名太长

    如何修复 Windows 上的 pip 安装失败并出现以下错误 尝试安装 ansible 时出现此错误 我怀疑这是选择安装的 pip 软件包的问题 但在基于 Linux 的系统上同样可以正常工作 pip install 与操作系统有什么区别
  • 如何编写 Windows 批处理脚本来从目录复制最新文件?

    我需要将目录中的最新文件复制到新位置 到目前为止我已经找到了资源forfiles命令 一个与日期相关的问题这里 还有另一个相关问题 我只是在将各个部分组合在一起时遇到了一些麻烦 如何将该目录中的最新文件复制到新位置 接受的答案给出了在命令中
  • TypeScript 中使用 async/await 进行方法链接

    我遇到一种情况 我需要对异步方法的结果调用异步方法 class Parent constructor private child Child private getChild Promise
  • 如何显示屏幕已锁定?

    在我的应用程序中 我需要知道设备何时被锁定 在 HTC 上 它看起来像是短按 电源 按钮 那么问题是 设备锁定时会触发哪个事件 或者设备将要休眠 你应该延长BroadcastReceiver并实施onReceive 像这样 public c
  • 如何使用 Cocoa 将文本从一个应用程序粘贴到另一个应用程序?

    我读过关于NSPasteBoard在Apple文档中 以及它如何允许应用程序写入PasteBoard并允许其他应用程序读取该文本并使用它 有人可以告诉我如何将应用程序 位于状态栏中 的文本粘贴到NSTextField那是在不同的应用程序内