获取突出显示的文

时间:2013-09-27 22:41:04

标签: macos cocoa

我正在开发一个应用程序,我需要在应用程序之外获取用户当前突出显示的文本,有没有办法做到这一点?

我读过我可以注册为服务,但我不想这样做。

1 个答案:

答案 0 :(得分:2)

  

我正在开发一个应用程序,我需要在应用程序之外获取用户当前突出显示的文本,有没有办法做到这一点?

     

我读过我可以注册为服务,但我不想这样做。

你真的应该。这是正确的方式。

  

我不想强迫用户复制,我只希望他突出显示文本。

(或她。)

这就是服务的工作原理:选择一些东西(通常是文本),然后调用服务。

  

...按下快捷键,我无法获得突出显示的文字。

你也可以这样做。

您的服务字典应如下所示:

<!--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>