VMware Workstation 虚拟机是我电脑必装的软件之一了,其他虚拟化软件hyper-v,vbox 也能用但是 VMware Workstation 的3D表现好一些。但是虚拟机里面测试游戏或一些软件会提示不能在虚拟机运行,所以打算找个VM硬件修改工具自定义过虚拟化检测。但是找了一圈都没有能用的,有的帖子也是手动教程,只能自己写一个了。
在网上逛教程时无意间发现 VMware Workstation 的一些调用接口,虽然我现在用不到,但是看见了就折腾一下。
对于挂机、板砖、多开 这些接口完全可以写出自动化程序
Mware Workstation 有三套调用方法
vmrun 命令方式调用
VMware Workstation REST API
VMware VIX SDK C++库
这里主要测试了 vmrun 和 vmrest
使用 vmrun.exe 操作 VMware Workstation
VMware在安装时,也同步安装了一个叫做VMrun的工具
直接在命令行运行程序 给出帮助文档
使用list命令查看当前已经打开的虚拟机,显示的是虚拟机的详细路径
C:\Windows\system32>"C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" -T ws list
Total running VMs: 1
D:\Users\Administrator\Documents\Virtual Machines\Win10-code\Win10-code.vmx
常用指令(更多指令参数帮助)
#启动虚拟机
# GUI: 可选参数,如果提供,虚拟机将在图形用户界面(GUI)中启动。
vmrun -T ws start "虚拟机路径" gui
#停止虚拟机
# 硬关机选项: 可选参数,用于指定停止虚拟机的方式,如 -hard 强制关闭,相当于断电;-soft软关机,相当于关机指令
vmrun -T ws stop "虚拟机路径" 硬关机选项
#挂起虚拟机
vmrun -T ws suspend "虚拟机路径"
#暂停虚拟机
vmrun -T ws pause "虚拟机路径"
#停止暂停虚拟机
vmrun -T ws unpause "虚拟机路径"
#虚拟机内复制文件到主机
# -gu: 虚拟机内的用户名。
# -gp: 虚拟机内的密码。
# "虚拟机路径": 虚拟机文件或虚拟机所在目录的路径。
# "虚拟机文件": 要复制的文件在虚拟机内的路径。
# "主机路径": 要复制到的主机路径
vmrun -T ws -gu <用户名> -gp <密码> copyFileFromGuestToHost "虚拟机路径" "虚拟机文件" "主机路径"
使用 vmrest.exe 操作 VMware Workstation
和 vmrun.exe 一样都在VM安装目录里
vmrest的参数不多 只用关注 -C (设置认证账号密码) -p(设置端口)
注意参数大小写
第一次运行需要 运行 "C:\Program Files (x86)\VMware\VMware Workstation\vmrest.exe" -C 设置认证账号密码
设置好认证就可以运行 "C:\Program Files (x86)\VMware\VMware Workstation\vmrest.exe" -p 9909
在浏览器输入地址就显示的就是接口文档了
根据文档使用HTTP库就可以编写程序操作VM了,这个感觉更方便直接用后端语言操作不要太简单
评论区