我需要向重点突出的应用程序发送按键,我的第一次搜索引导我CGEventCreateKeyboardEvent:
CGEventRef eventA = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)0, true);
CFRelease(eventA);
这已编译但没有做任何事情,但在试图找出它的过程中我找到了这个......
CGPostKeyboardEvent( (CGCharCode)'a', (CGKeyCode)0, true);
......它奏效了。为什么?从我到目前为止所读到的内容来看,它们应该完成相同的事情,但CGPostKeyboardEvent已被弃用。
(请原谅我,如果我忽略了我应该明确包含的细节 - 我正在努力解决我的常规问题,试图帮助同事开展课外项目,并试图学习一些事情。 )
答案 0 :(得分:3)
您的问题是,您在创建活动后并未发布活动。因此,以下代码将按左箭头然后将其释放:
CGEventRef a = CGEventCreateKeyboardEvent(NULL, 123, true);
CGEventRef b = CGEventCreateKeyboardEvent(NULL, 123, false);
CGEventPost(kCGHIDEventTap, a);
CGEventPost(kCGHIDEventTap, b);