0

获取活动应用程序不是问题,我已经实现了这个。

我想知道的是如何将“Cmd-C”组合键发送到活动应用程序,以便将所选文本放入剪贴板(一般粘贴板)。

甚至更好:如何告诉活动应用程序在不发送击键的情况下执行复制操作,或者在触发复制操作时不突出显示“编辑”菜单。

我不能使用 NSAppleScript (10.2),因为这个特定的类必须尽可能向后兼容(理想情况下是 10.0)。

我看过 NSAppleEvents (这似乎是要走的路),但似乎找不到办法做到这一点。一个具体的答案将非常受欢迎!

提前致谢!

更新:

Rob 的 NSAppleScript 解决方案有效,但我仍然有兴趣在不需要 NSAppleScript 的情况下这样做。我尝试过使用 CGPostKeyboardEvent (使用最后一个布尔值将键设置为“向上”或“向下”状态),但我似乎找不到键码或任何字符代码表。有人可以准确地说 CGPostKeyboardEvent 将如何用于输入“c”吗?(CGCharCode 和 CGKeyCode 表将是完美的)。

4

2 回答 2

5

请参阅GCPostKeyboardEvent

于 2009-10-01T19:27:06.150 回答
2

如果您可以在计算机上启用系统事件(访问辅助设备),则可以使用 NSAppleEvent [编辑:实际上是 NSAppleScript] initWithSource 发送此脚本:

tell application "System Events" to keystroke "c" using command down

不过,我真的不知道什么时候引入了系统事件。

于 2009-10-01T20:23:51.673 回答