构建一个小菜单栏程序,用于切换桌面并通过执行控制箭头键键盘命令来执行此操作。但出于某种原因,我真的无法做到这一点。
这是我的代码,您将看到我如何使用IBaction下的键盘事件左转任何原因导致我在构建应用程序并测试它时无效? 点击左转只是什么都没有?
由于
- (IBAction)goleft:(id)sender
{
CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
CGEventRef keyDown = CGEventCreateKeyboardEvent(source, kVK_LeftArrow, TRUE);
CGEventSetFlags(keyDown,kCGEventFlagMaskControl);
CGEventRef keyUp = CGEventCreateKeyboardEvent(source, kVK_LeftArrow, FALSE);
CGEventPost(kCGAnnotatedSessionEventTap, keyDown);
CGEventPost(kCGAnnotatedSessionEventTap, keyUp);
CFRelease(keyUp);
CFRelease(keyDown);
CFRelease(source);
}