作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将键盘事件发送到进程。像“a”、“v”、“t”这样的键可以正常工作,但是空格、命令、控制等键不起作用。这就是我正在做的事情:
CGEventRef e1 = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)55, YES);
CGEventRef e4 = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)0, YES);
CGEventPostToPSN(&spotPSN, e1);
CGEventPostToPSN(&spotPSN, e4);
e4 可以工作,但 e1 不能。我在这里的目的是发送 command+a 来选择全部。谢谢。
最佳答案
您需要将命令键设置为字母“a”的键盘事件的标志,而不是为命令键发布另一个事件:
// virtual key code for letter 'a'
CGKeyCode keycode = 0;
// keyboard event for letter 'a'
CGEventRef event = CGEventCreateKeyboardEvent(NULL, keycode, true);
// modify keyboard event so that it becomes 'command-a'
CGEventSetFlags(event, kCGEventFlagMaskCommand);
有关可能的事件标志的列表,请参阅 Quartz Event Services Reference .
关于objective-c - CGEventPostToPSN 不适用于 cgkeycode (56),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5573943/
我是一名优秀的程序员,十分优秀!