Keyboard 执行关键命令

Keyboard 执行关键命令,keyboard,Keyboard,构建一个用于切换桌面的小型菜单栏程序,并通过执行控制箭头键命令来执行此操作。但由于某种原因,我真的不能让这项工作 这是我的代码,您将看到我是如何使用IBaction下的键盘事件的。当我构建应用程序并测试它时,是否有任何原因导致此操作不起作用? 单击“向左”什么也不做 谢谢 - (IBAction)goleft:(id)sender { CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateCombinedSessionS

构建一个用于切换桌面的小型菜单栏程序,并通过执行控制箭头键命令来执行此操作。但由于某种原因,我真的不能让这项工作

这是我的代码,您将看到我是如何使用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);
}