【发布时间】:2019-02-20 19:36:43
【问题描述】:
如何模拟按下键盘按钮?
我试过了:
let src = CGEventSource(stateID: CGEventSourceStateID.hidSystemState)
let cmdd = CGEvent(keyboardEventSource: src, virtualKey: 0x38, keyDown: true)
let cmdu = CGEvent(keyboardEventSource: src, virtualKey: 0x38, keyDown: false)
let spcd = CGEvent(keyboardEventSource: src, virtualKey: 0x31, keyDown: true)
let spcu = CGEvent(keyboardEventSource: src, virtualKey: 0x31, keyDown: false)
spcd?.flags = CGEventFlags.maskCommand;
let loc = CGEventTapLocation.cghidEventTap
cmdd?.post(tap: loc)
spcd?.post(tap: loc)
spcu?.post(tap: loc)
cmdu?.post(tap: loc)
还有:
let controlKeyDownEvent = CGEvent(keyboardEventSource: nil, virtualKey: CGKeyCode(kVK_Control), keyDown: true)
controlKeyDownEvent?.flags = CGEventFlags.maskCommand
controlKeyDownEvent?.post(tap: CGEventTapLocation.cghidEventTap)
但我得到了错误:
Use of unresolved identifier 'CGEvent'
Use of unresolved identifier 'CGKeyCode'
Use of unresolved identifier 'kVK_Control'
等等
如何使用此代码?
要连接什么样的框架?
或者我该怎么做?
【问题讨论】:
-
您的目标是哪个操作系统:macOS 还是 iOS?
-
您是否导入了 CoreGraphics?这是针对 macOS 的吗?
-
@MichaelDautermann, rmaddy iOS