cocoa - 在cocoa中发送 'copy'命令

标签 cocoa events keystroke

有没有办法发送复制(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/

相关文章:

Cocoa 限制导致 CPU 使用率高

objective-c - (异步)NSURLConnection : what's going on underneath?

testing - WshShell 击键多媒体 Next Track 窗口

batch-file - 批量击键

cocoa - NSDictionary objectForKey/valueForKey 已格式化?

objective-c - Cocoa:当我有一个 "id button"变量时如何获取按钮类型

javascript - 文档加载后更改 DOM 元素

c# - 同一个应用中c++和c#之间的异步通信

javascript - 在 Node.Js 脚本中使用 Javascript Timer 在特定时间触发事件

python - 基维 python : Detect backspace in Text Input