private static bool CheckAndOpenAdapter() { NetworkAdapterInstaller.SendMessage("开始检查虚拟网卡.."); List <ManagementBaseObject> managementBaseObjects = NetworkAdapterInstaller.QueryInstalledLoopbackAdapters(); if (managementBaseObjects.Count <= 0) { NetworkAdapterInstaller.SendMessage("未找到已安装的虚拟网卡...开始安装.."); if (!NetworkAdapterInstaller.InstallAdapter()) { return(false); } NetworkAdapterInstaller.SendMessage("开始设置网卡信息"); return(NetworkAdapterInstaller.SetAdapter()); } if (managementBaseObjects.Count == 1) { if (NetworkAdapterInstaller.EnableAdapter(managementBaseObjects[0].Properties["PNPDeviceID"].Value.ToString())) { NetworkAdapterInstaller.SendMessage("开始设置网卡信息"); return(NetworkAdapterInstaller.SetAdapter()); } NetworkAdapterInstaller.SendErrorMessage("网卡启动失败!"); return(false); } NetworkAdapterInstaller.SendMessage("找到多个虚拟网卡,处理中"); for (int i = 0; i < managementBaseObjects.Count; i++) { if (i != 0) { NetworkAdapterInstaller.DeleteAdapter(managementBaseObjects[i].Properties["PNPDeviceID"].Value.ToString()); } } NetworkAdapterInstaller.SendMessage("开始设置网卡信息"); return(NetworkAdapterInstaller.SetAdapter()); }