软件 | VMWare VIX Automation Tools and SDK 1.15.7 官方版 |
内容 |
VMWare VIX是一套自动化测试工具,安装了vmware虚拟机程序的本机可以通过在本机运行vix程序,可以控制虚拟机的系统。比如我在电脑上装了真实系统A,又在A系统上装了vmware 软件,然后安装两个虚拟机B和C,那么在A上用VMware vix编写程序可以控制B和C。 安装VMware和客户机 ①安装WMware:我的安装路径是E:/Program Files/VMware,安装完成后,在计算机C:/Program Files 文件夹下会自动安装VIX,位置位于C:/Program Files/VMware/VMware VIX,WMware VIX文件夹下东西正是后续我们需要使用到的 ②在WMware中安装ubuntu:我的安装路径就是默认的,安装在了C:/Users/Pan/Documents/Virtual Machines/Ubuntu文件夹下 VIX使用实例配置讲解 ①使用VS建立新的项目,在这里,我的项目命名为Vmware ②在项目中添加两个头文件,vix.h和vm_basic_types.h,将C:/Program Files/VMware/VMware VIX文件夹下两个相应的文件的内容复制进来。 ③将C:/Program Files/VMware/VMware VIX/Samples文件夹中的powerOn.c文件的内容复制到项目的源文件Vmware.cpp中。这个文件里面有不少地方要改,如下: 文件刚开始的部分,找到如下地方进行配置(powerOn这个试验中,不配置貌似也没问题) #define USE_WORKSTATIO #ifdef USE_WORKSTATION #define CONNTYPE VIX_SERVICEPROVIDER_VMWARE_WORKSTATION #define HOSTNAME "https://192.168.1.110" (自己的ip地址) #define HOSTPORT 0(不用改) #define USERNAME "pan" (ubuntu的用户名) #define PASSWORD "1" (ubuntu的密码) 配置虚拟机路径,如图修改 ![]() vmxpath改成自己相应的ubuntu的安装路径就行了 为项目添加vix的lib和dll Project->properties->c/c++->general->additional include directories添加引用文件的文件夹的路径,我的是C:/Program Files/VMware/VMware VIX,WMware VIX Project->properties->linker->general->additional library directories添加库文件的文件夹路径,我的是C:/Program Files/VMware/VMware VIX,WMware VIX Project->properties->linker->input->additional additional dependencies添加用到的库文件,添加VixAllProductsDyn.lib 运行项目 配置到现在,基本配置已经完成,但是你运行项目,会报错所找不到VixAllProductsDyn.dll,没关系,这只需要你将C:/Program Files/VMware/VMware VIX,WMware VIX文件夹下的VixAllProductsDyn.dll拷贝到你项目的debug文件夹下就行了。 到现在,算是全部大功告成了。 开始想通过命令行的方式控制虚拟机,但总是存在一些问题,到现在也没搞懂。 首先,网上下载的绿色版还是有很多功能不能实现。 其次,虚拟机版本不一样,其支持的命令也不一样,版本越高,支持的命令越多。 我使用VMware Workstation 6.0.3 build-80004,在命令行下,仅可以执行(1)开启(2)关闭(3)重启(4)挂起 这四个功能,我最想使用的恢复快照却不能使用。 开启:vmware -x vm.vmx 关闭:vmrun stop vm.vmx 重启:vmrun reset vm.vmx soft (无soft时为直接重启) 挂起:vmrun suspend vm.vmx 幸好,从6.0版本开始提供Vix_API了,可以直接在自己的程序中使用Vix_API操作虚拟机,而且各项功能都可以实现 ![]() 在完整安装VMware Workstation 6.0后,在安装目录下就会有VMware VIX文件夹,其中包含了Vix_API及相关文档、dll、lib等文件。 第一,包含头文件,连接lib vix.h、vm_basic_types.h、VixAllProducts.lib、VixAllProductsd.lib 第二,按照文档说明操作Vix_API VixHost_Connect()、 VixHost_Disconnect()、VixHost_FindItems()、VixHost_RegisterVM()、VixHost_UnregisterVM()、VixJob_CheckCompletion()、VixJob_GetError()、VixJob_GetNthProperties()、VixJob_GetNumProperties()、VixJob_Wait()、VixSnapshot_GetChild()、VixSnapshot_GetNumChildren()、VixSnapshot_GetParent()、VixVM_AddSharedFolder()、ixVM_CopyFileFromGuestToHost()、VixVM_CopyFileFromHostToGuest()、VixVM_CreateDirectoryInGuest()、VixVM_CreateSnapshot()、VixVM_CreateTempFileInGuest()、VixVM_Delete()、VixVM_DeleteDirectoryInGuest()、VixVM_DeleteFileInGuest()、VixVM_DirectoryExistsInGuest()、VixVM_EnableSharedFolders()、VixVM_FileExistsInGuest()、VixVM_GetCurrentSnapshot()、VixVM_GetNamedSnapshot()、VixVM_GetNumRootSnapshots()、VixVM_GetNumSharedFolders()、VixVM_GetRootSnapshot()、VixVM_GetSharedFolderState()、VixVM_InstallTools()、VixVM_KillProcessInGuest()、VixVM_ListDirectoryInGuest()、VixVM_ListProcessesInGuest()、VixVM_LoginInGuest()、VixVM_LogoutFromGuest()、VixVM_Open()、VixVM_OpenUrlInGuest()、VixVM_PowerOff()、VixVM_PowerOn()、VixVM_RemoveSharedFolder()、VixVM_RemoveSnapshot()、VixVM_RenameFileInGuest()、VixVM_Reset()、VixVM_RevertToSnapshot()、VixVM_RunProgramInGuest()、VixVM_RunScriptInGuest()、VixVM_SetSharedFolderState()、VixVM_Suspend()、VixVM_UpgradeVirtualHardware()、VixVM_WaitForToolsInGuest()、Vix_FreeBuffer()、Vix_GetErrorText()、Vix_GetHandleType()、Vix_GetProperties()、Vix_GetPropertyType()、Vix_PumpEvents()、Vix_ReleaseHandle()、 第三,使用正确的dll文件 我遇到的这个问题,困扰了我一天来调试。在文档中有相关说明,不同版本的VMware 对应不同的dll文件,否则在VixHost_Connect时就会出现报出参数出错的错误! |
标签 | VMware |
缩略图 | ![]() |
软件名称 | VMWare VIX Automation Tools and SDK |
软件图标 | |
软件大小 | 37.3MB |
发布时间 | |
软件平台 | |
软件语言 | 简体中文 |
软件授权 | 免费软件 |
操作系统 | Win All |
系统类型 | |
用户评分 | |
软件版本 | 1.15.7 官方版 |
官方网站 | |
官方网址 | |
软件截图 | |
软件总类 | 电脑软件 |
软件大类 | PC软件-系统软件-系统辅助 |
软件小类 | |
开发者 | |
主办单位名称 | |
ICP备案名 | |
备案号 | |
使用年龄 | |
下载链接 | ![]() |
攻略教程 | |
详细介绍 | |
操控设备 | |
隐私政策 | |
查看权限 | |
敏感权限获取说明 | |
软件类型 | 国产软件 |
安全警示 | 适度休息有益身心健康,请勿长期沉迷于使用电脑或刷手机。 |
随便看 |
|
传承兰台文化,共同保存历史记忆!兰台网收藏软件、游戏、图片、图书、电影、电视剧等互联网档案,是免费和可借阅文本、电影、音乐等档案的数字图书馆。