VMware 虚拟机 Vix开发简介
学习一下c#下 使用VMware Vix api操作 VMware虚拟机,基于 Vix1.14和 VMware Workstation11:
- 1.下载 Vix1.14和 VMware Workstation11
- 2.引用相关组件
- 3.创建和使用虚拟机
- 本虚拟机使用Ubuntu 14
1.下载 Vix1.14和 VMware Workstation11
VIX: https://www.vmware.com/support/developer/vix-api/
VMware Workstation11: http://pubs.vmware.com/workstation-11/index.jsp
ps:VIX是需要安装的,建议安装在C盘vmware同一目录下。
2.引用相关组件
在VS中引用VMware VIX安装目录下的VixCOM.dll,,ok,就这么方便。
在代码中引用
using VixCOM
3.创建和使用虚拟机
操作VMware相关代码
using System;
using System.Collections.Generic;
using System.Text;
using VixCOM;
namespace VM
{
class VixWrapper
{
private VixCOM.IVixLib vixLib = null;//库
private ulong m_vixError;
private VixCOM.IHost m_hostHandle = null;//主机
private VixCOM.IVM m_vmHandle = null;//虚拟机
public ulong GetError()
{
return m_vixError;
}
//初始化
public VixWrapper()
{
try
{
vixLib = new VixCOM.VixLibClass();
}
catch (Exception comExc)
{
System.Diagnostics.Trace.WriteLine(comExc.Message + "\n");
throw;
}
}
/// <summary>
/// 创建链接
/// </summary>
public bool Connect(string hostName, string userName, string password)
{
//int hostType = string.IsNullOrEmpty(hostName) ? VixCOM.Constants.VIX_SERVICEPROVIDER_VMWARE_WORKSTATION : VixCOM.Constants.VIX_SERVICEPROVIDER_VMWARE_SERVER;
int hostType = VixCOM.Constants.VIX_SERVICEPROVIDER_VMWARE_WORKSTATION;
int vixVersion = VixCOM.Constants.VIX_API_VERSION;
VixCOM.IJob jobHandle = vixLib.Connect(vixVersion, hostType, hostName, 0, userName, password, 0, null, null);
int[] propertyIds = new int[1] { VixCOM.Constants.VIX_PROPERTY_JO