我需要向聚焦的应用程序发送一个按键,我的第一次搜索使我找到了CGEventCreateKeyboardEvent:
CGEventRef eventA = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)0, true);
CFRelease(eventA);
Run Code Online (Sandbox Code Playgroud)
这编译但没有做任何事情,但在试图弄清楚的过程中我发现了这个......
CGPostKeyboardEvent( (CGCharCode)'a', (CGKeyCode)0, true);
Run Code Online (Sandbox Code Playgroud)
...它奏效了。为什么?从我到目前为止所读到的内容来看,他们应该完成同样的事情,但不推荐使用CGPostKeyboardEvent。
(如果我忽略了我显然应该包括的细节,请原谅我 - 我正在努力超越我通常的深度,试图帮助同事进行课外项目,并且只是想在此过程中学习一些东西。)
您的问题是一旦您创建了活动,您就不会发布它。所以下面的代码将按下左箭头然后释放它:
CGEventRef a = CGEventCreateKeyboardEvent(NULL, 123, true);
CGEventRef b = CGEventCreateKeyboardEvent(NULL, 123, false);
CGEventPost(kCGHIDEventTap, a);
CGEventPost(kCGHIDEventTap, b);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2727 次 |
| 最近记录: |