VMWare VIX是一套自动化测试工具,安装了vmware虚拟机程序的本机可以通过在本机运行vix程序,可以控制虚拟机的系统。比如我在电脑上装了真实系统A,又在A系统上装了vmware 软件,然后安装两个虚拟机B和C,那么在A上用VMware vix编写程序可以控制B和C。
①安装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文件夹下
①使用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时就会出现报出参数出错的错误!
开发者其他应用
讯飞输入法app最新版202258.4M23843人在玩讯飞输入法最新版本2022下载,讯飞输入法app是一款手机输入法,其特色在于支持语音输入,说出话来直接变成文字,很给力啊,有木有!讯飞输入法app支持多种方言识别,觉得有用就来下载试用一下吧。
下载沙发管家TV版7.5M55686人在玩沙发管家是一款基于Android系统的TV盒子本土化应用商店。我们致力于为国内用户打造最全面、最简单方便的TV盒子应用商店,为用户提供各类最适合在TV盒子上使用的软件和游戏。我们的宗旨就是让每个使用沙发管家的用户拿起遥控器,就像操作传统电视一样的简单方便---沙
下载当贝市场客户端tv版11.5M12775人在玩当贝市场是一款专为智能电视和安卓电视盒量身打造设计的应用市场!海量精选TV应用,遥控器轻松操作,界面简洁易用,管理得心应手!当贝市场tv版现已适配天猫魔盒、小米、乐视、迈乐
下载猎豹清理大师50.0M20507人在玩猎豹清理大师(原金山清理大师)是金山网络研发的针对智能手机的专业清理软件,截止2013年12月,已成为全球清理类工具软件第一名。西西用着挺好的,清理的又快又干净
下载鲁大师评测39.2M38216人在玩鲁大师手机版是一个给Android手机、平板进行性能评测、跑分的软件,通过“内存性能”、“CPU整数性能”,“CPU浮点性能”、“2D、3D绘图性能”、“数据库IO”、“SD卡读、写速度”八项性能测试,通过合理的项目性能测试对手机的硬件性能做一个整体评分
下载360手机助手安卓版28.5M894203人在玩360手机助手安卓版下载到手机桌面是360旗下的一款应用市场软件,360手机助手真正的10.0版本,对于买了新手机或者想下载软件游戏的朋友来说,这款360手机助手还是很实用的
下载WiFi万能钥匙87.6M33588人在玩WiFi万能钥匙是一款手机上自动获取周边wifi热点信息的手机必备工具,WiFi万能钥匙利用存储与云端的数据库,帮助您轻松的接入无线网络,在软件的云端数据库中存储了数万的wifi热点数据。
下载应用宝202213.9M44355人在玩应用宝2022最新版全新上线,其前身是“qq手机软件管理”。应用宝2022客户端全新的ui和架构,显示出腾讯应用中心的社区化和开放平台理念
下载百度输入法2022最新版70.9M19773人在玩百度输入法2022最新版一直秉持着一种理念:向用户提供最流畅、高性能的手机输入体验,这样的理念一直延续至今,受到了业界及用户的广泛好评。
下载豌豆荚手机精灵手机端23.3M5696人在玩豌豆荚,国内最大的Android内容获取平台。你可以通过豌豆荚Windows版、Android版或者Web版随时随地将超过40万款应用及音乐、视频、图片等资源方便获取到手机,同时豌豆荚还为你提供了好用的本地内容管理功能。
下载