如何在objective-c中向活动应用程序发送"Cmd-C"击键,或者告诉应用程序进行复制操作?

For*_*orm 0 cocoa objective-c appleevents

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

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

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

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

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

提前致谢!

更新:

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

Dar*_*ren 5

请参阅GCPostKeyboardEvent.

  • @Form我认为处理它的方法是条件编译.对于<10.3使用CGPostKeyboardEvent,对于= = 10.4使用CGEventCreateKeyboardEvent (5认同)