有没有办法发送复制(command-c)指令而不使用cgEvent来模拟击键?我无权访问要从中获取文本的应用程序中的文本字段,因此需要手动复制到剪贴板,并且 cgevent 发布似乎存在错误。
根据 Quartz 文档,要输入大写字母 Z 我应该使用:
CGEventRef event1, event2, event3, event4;
event1 = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)56, true);
event2 = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)6, true);
event3 = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)6, false);
event4 = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)56, false);
但是,如果我将这组指令附加到 NSTimer,它仅在第一次触发时有效。示例输出:
ZzzZzzzzZZzzZ (vs expected ZZZZZZZZZ).
我还可以如何向事件窗口发送复制命令?
最佳答案
您可能最好使用辅助功能 API 来触发其他应用的“编辑”菜单中的“复制”项,而不是发布原始按键事件。这可能会更可靠。
关于cocoa - 在cocoa中发送 'copy'命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2043209/