应用介绍
自动化测试要在每次构建后拉起五台干净的虚拟机,跑完销毁;教学环境要一键给三十个学生各发一台配好的机器。用 VBoxManage 拼 shell 脚本能做,但错误处理、状态轮询、并发控制写着写着就失控了。VirtualBox SDK 把这些事挪到了程序里——创建虚拟机、挂磁盘、改网卡、开关机、截屏、读性能计数器,全都是 API 调用,返回的是对象和异常,不是要自己解析的文本。
它是 Oracle 官方随 VirtualBox 同版本发布的开发包,和主程序一样免费。本机管理走 COM(Windows)或 XPCOM(Linux、macOS)直连 VBoxSVC 服务;要管远程主机上的虚拟机,就起 vboxwebsrv 走 SOAP 接口。
完整的虚拟机控制接口:IVirtualBox、IMachine、ISession 这套对象模型覆盖了图形界面能做的一切——注册虚拟机、配置 CPU 内存、挂载存储控制器和光盘、设置网络模式、拍快照、启动和保存状态。
本机与远程两套通道:本地用 COM / XPCOM 直接进程间调用,性能最好;远程启动 vboxwebsrv 后用 SOAP,跨语言跨机器都能连。
多语言绑定:Java、Python、C 和 C++ 的胶水层都在包里,Python 装好 vboxapi 后 import 就能用,不必自己写 COM 封装。
事件与性能数据:可以订阅虚拟机状态变更、快照、网络适配器变化等事件,也能读取 CPU、内存、磁盘和网络的性能计数器做监控。
客户机内执行:通过 Guest Additions 提供的接口在虚拟机内部执行命令、传文件、读环境变量,自动化部署不用走网络登录。
随包文档:SDK Programming Guide and Reference 详细列出每个接口的方法、参数和示例代码,配合 sdk/bindings 下的样例可以直接照着改。
它是 Oracle 官方随 VirtualBox 同版本发布的开发包,和主程序一样免费。本机管理走 COM(Windows)或 XPCOM(Linux、macOS)直连 VBoxSVC 服务;要管远程主机上的虚拟机,就起 vboxwebsrv 走 SOAP 接口。
软件功能
完整的虚拟机控制接口:IVirtualBox、IMachine、ISession 这套对象模型覆盖了图形界面能做的一切——注册虚拟机、配置 CPU 内存、挂载存储控制器和光盘、设置网络模式、拍快照、启动和保存状态。
本机与远程两套通道:本地用 COM / XPCOM 直接进程间调用,性能最好;远程启动 vboxwebsrv 后用 SOAP,跨语言跨机器都能连。
多语言绑定:Java、Python、C 和 C++ 的胶水层都在包里,Python 装好 vboxapi 后 import 就能用,不必自己写 COM 封装。
事件与性能数据:可以订阅虚拟机状态变更、快照、网络适配器变化等事件,也能读取 CPU、内存、磁盘和网络的性能计数器做监控。
客户机内执行:通过 Guest Additions 提供的接口在虚拟机内部执行命令、传文件、读环境变量,自动化部署不用走网络登录。
随包文档:SDK Programming Guide and Reference 详细列出每个接口的方法、参数和示例代码,配合 sdk/bindings 下的样例可以直接照着改。

