#include <stdio.h>#include <stdlib.h>#include "vix.h"#define USE_WORKSTATION#ifdef USE_WORKSTATION#define  CONNTYPE    VIX_SERVICEPROVIDER_VMWARE_WORKSTATION#define  HOSTNAME ""#define  HOSTPORT 0#define  USERNAME ""#define  PASSWORD ""#define  VMPOWEROPTIONS   VIX_VMPOWEROP_LAUNCH_GUI#endif    // USE_WORKSTATIONintmain(){    VixError err;    char *vmxPath= "E:\win7\Windows 7 x64.vmx";//此处路径自行修改,不要出现中文    VixHandle hostHandle = VIX_INVALID_HANDLE;    VixHandle jobHandle = VIX_INVALID_HANDLE;    VixHandle vmHandle = VIX_INVALID_HANDLE;    jobHandle = VixHost_Connect(VIX_API_VERSION,                                CONNTYPE,                                HOSTNAME, // *hostName,                                HOSTPORT, // hostPort,                                USERNAME, // *userName,                                PASSWORD, // *password,                                0, // options,                                VIX_INVALID_HANDLE, // propertyListHandle,                                NULL, // *callbackProc,                                NULL); // *clientData);    err = VixJob_Wait(jobHandle,                      VIX_PROPERTY_JOB_RESULT_HANDLE,                      &hostHandle,                      VIX_PROPERTY_NONE);    if (VIX_FAILED(err)) {        goto abort;    }    Vix_ReleaseHandle(jobHandle);    jobHandle = VixVM_Open(hostHandle,                           vmxPath,                           NULL, // VixEventProc *callbackProc,                           NULL); // void *clientData);    err = VixJob_Wait(jobHandle,                      VIX_PROPERTY_JOB_RESULT_HANDLE,                      &vmHandle,                      VIX_PROPERTY_NONE);    if (VIX_FAILED(err)) {        goto abort;    }    Vix_ReleaseHandle(jobHandle);    jobHandle = VixVM_PowerOn(vmHandle,                              VMPOWEROPTIONS,                              VIX_INVALID_HANDLE,                              NULL, // *callbackProc,                              NULL); // *clientData);    err = VixJob_Wait(jobHandle, VIX_PROPERTY_NONE);    if (VIX_FAILED(err)) {        goto abort;    }    Vix_ReleaseHandle(jobHandle);    jobHandle = VixVM_PowerOff(vmHandle,                               VIX_VMPOWEROP_NORMAL,                               NULL, // *callbackProc,                               NULL); // *clientData);    err = VixJob_Wait(jobHandle, VIX_PROPERTY_NONE);    if (VIX_FAILED(err)) {        goto abort;    }abort:    Vix_ReleaseHandle(jobHandle);    Vix_ReleaseHandle(vmHandle);    VixHost_Disconnect(hostHandle);    return 0;}

这是一个在CodeBlocks上写的c程序,安装了虚拟机的,具体源码请在“C:Program Files (x86)VMwareVMware VIXSamplespowerOn.c”里查看,
注:

1、在project->Properties->C/C++->添加头文件所在文件夹(把头文件放程序文件夹里)
2、添加头文件vix.h与vm_basic_types.h
3、在project->Properties->Project Setting->Project build options-> er settings->添加动态链接库VixAllProductsDyn.lib
4、在debug下添加VixAllProductsDyn.dll

遗失的拂晓
收藏 打印