5

我想Application Switcher在我的应用程序中进行模拟,我认为 CGEvent 可能可以做到这一点。

嗯,学习了一些CGEvent的基本信息后,就可以模拟按键了Command + Tab。但是应用程序切换器窗口只是闪烁并立即切换到另一个应用程序。

我意识到我需要hold使用 Command 键并按 Tab 键来选择应用程序。所以,这是我的代码:

// Hold the Command key
let source = CGEventSourceCreate(.HIDSystemState)
let event = CGEventCreateKeyboardEvent(source, 55 as CGKeyCode, true)
CGEventSetIntegerValueField(event, .KeyboardEventAutorepeat, 1)
CGEventPost(.CGHIDEventTap, event)

// Press Tab key once
let source = CGEventSourceCreate(.HIDSystemState)
let keyDown = CGEventCreateKeyboardEvent(source, 48 as CGKeyCode, true)
CGEventSetFlags(keyDown, .MaskCommand)
CGEventPost(.CGHIDEventTap, keyDown)
let keyUp = CGEventCreateKeyboardEvent(source, 48 as CGKeyCode, false)
CGEventPost(.CGHIDEventTap, keyUp)

但它不起作用!有任何想法吗?谢谢!

4

1 回答 1

7

keyup 事件中缺少 Command 标志。CGEventSetFlags(keyUp, .MaskCommand)之前添加CGEventPost(.CGHIDEventTap, keyUp)

于 2016-04-04T10:50:24.597 回答