Macos 获取突出显示的文本
我正在开发一个应用程序,我需要在我的应用程序之外获取用户当前突出显示的文本,有什么方法可以做到这一点吗 我已经读到我可以注册为服务,但我不想这样做 我正在开发一个应用程序,我需要在我的应用程序之外获取用户当前突出显示的文本,有什么方法可以做到这一点吗 我已经读到我可以注册为服务,但我不想这样做 你真的应该。这是正确的方法Macos 获取突出显示的文本,macos,cocoa,Macos,Cocoa,我正在开发一个应用程序,我需要在我的应用程序之外获取用户当前突出显示的文本,有什么方法可以做到这一点吗 我已经读到我可以注册为服务,但我不想这样做 我正在开发一个应用程序,我需要在我的应用程序之外获取用户当前突出显示的文本,有什么方法可以做到这一点吗 我已经读到我可以注册为服务,但我不想这样做 你真的应该。这是正确的方法 我不想强迫用户复制,我只想让他突出显示文本 (或者她。) 服务就是这样工作的:选择一些东西(通常是文本),然后调用服务 …我想用快捷键无法获取突出显示的文本 你也可以这样做 您
我不想强迫用户复制,我只想让他突出显示文本 (或者她。) 服务就是这样工作的:选择一些东西(通常是文本),然后调用服务 …我想用快捷键无法获取突出显示的文本 你也可以这样做 您的服务字典应如下所示:
<!--in Info.plist-->
<key>NSServices</key>
<dict>
<key>NSMenuItem</key>
<dict>
<key>default</key>
<string>ROT-13</string>
</dict>
<key>NSKeyEquivalent</key>
<dict>
<key>default</key>
<!-- ⌘ is implicit, and an uppercase letter likewise implies shift -->
<!-- Thus, this is ⌘-shift-e -->
<string>E</string>
</dict>
<key>NSRequiredContext</key>
<dict>
<key>NSServiceCategory</key>
<string>public.text</string>
</dict>
<key>NSSendTypes</key>
<array>
<string>NSStringPboardType</string>
</array>
⋮
</dict>
NSS服务
NSMenuItem
违约
ROT-13
NSKeyEquivalent
违约
E
NSRequiredContext
NSServiceCategory
public.text
NSSENDTYPE
NSStringPboardType
⋮
这不是剪贴板的作用吗?(我想你可以做的是让应用程序复制文本然后读出。)我不想强迫用户复制,我只想让他突出显示文本。我的意思是通过编程让应用程序复制文本。使用AppleScript相当容易,因此应该可以在ObjC中进行复制,但我找不到AESendEvent()
的文档在哪里。(我看到的函数就是这么做的。)@millimoose,它将替换剪贴板的内容,而剪贴板是用户要控制的。您可能会导致重要数据永久丢失。服务是一种方式,但是OP不想因为无法解释的原因而使用它。为什么你不想做一个服务呢?