我知道如何使用 VBoxManage controlvm keyboardputscancode <scancode> <scancode> <etc...>
发送键盘事件(按键)到 VirtualBox 虚拟机。
是否有类似的方法模拟 鼠标或触摸事件 呢?例如,将鼠标移动到某个坐标或某个距离上,或发送鼠标单击,或发送对给定坐标的触摸/轻击?
我知道如何使用 VBoxManage controlvm keyboardputscancode <scancode> <scancode> <etc...>
发送键盘事件(按键)到 VirtualBox 虚拟机。
是否有类似的方法模拟 鼠标或触摸事件 呢?例如,将鼠标移动到某个坐标或某个距离上,或发送鼠标单击,或发送对给定坐标的触摸/轻击?
您可以使用Python和https://pypi.org/project/vboxapi/来完成此操作。
from vboxapi import VirtualBoxManager
mgr = VirtualBoxManager(None, None)
vbox = mgr.getVirtualBox()
machine = vbox.findMachine('CentOS')
session = mgr.getSessionObject(vbox)
machine.LockMachine(session, mgr.constants.LockType_Shared)
session.Console.Mouse.putMouseEventAbsolute(100,100,0,0,1)
如需更多信息,请查看此处
brew search pip
时,它说pip是Python公式的一部分,但我已经在我的系统上安装了Python(macOS默认自带)。如果我通过brew安装Python,那么其他东西会不会出现问题?或者我最终会有两个Python版本,那么我(或依赖于任一Python版本的程序)如何区分这两个版本? - RocketNutspip install vboxapi
显示“Requirement already satisfied: vboxapi in /Library/Python/2.7/site-packages (1.0)”,所以显然vboxapi已经存在于这里!但是...在尝试脚本后,我仍然遇到了AttributeError:XPCOM组件错误(请参见第一条评论)。也许vboxapi或VirtualBox有不同的不兼容版本? - RocketNuts