如何使用 Swift 模拟按键?
How simulate keypress using Swift?
如何模拟按下键盘按键?
我试过了:
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'
等等
如何使用此代码?
连接什么框架?
或者我该如何做?
CGEventSourceRef only exists on macOS。
您可能还有其他选择可以尝试。 Check out Olaf's answer here.
否则,您需要退后一步,弄清楚如何 else 在不涉及键盘的情况下测试 UI 背后的代码。
如何模拟按下键盘按键?
我试过了:
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'
等等
如何使用此代码?
连接什么框架?
或者我该如何做?
CGEventSourceRef only exists on macOS。
您可能还有其他选择可以尝试。 Check out Olaf's answer here.
否则,您需要退后一步,弄清楚如何 else 在不涉及键盘的情况下测试 UI 背后的代码。