Exemplo n.º 1
0
        private static bool SetAdapter()
        {
            bool flag;
            ManagementBaseObject methodParameters = null;

            using (ManagementObjectCollection.ManagementObjectEnumerator enumerator = (new ManagementObjectSearcher("select * from Win32_NetworkAdapterConfiguration where IPEnabled = 1 and Caption like '%Loopback Adapter%'")).Get().GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    ManagementObject current = (ManagementObject)enumerator.Current;
                    if (!(bool)current["IPEnabled"])
                    {
                        continue;
                    }
                    methodParameters = current.GetMethodParameters("EnableStatic");
                    methodParameters["IPAddress"]  = new string[] { "221.231.130.70" };
                    methodParameters["SubnetMask"] = new string[] { "255.255.255.0" };
                    current.InvokeMethod("EnableStatic", methodParameters, null);
                    NetworkAdapterInstaller.SendMessage("网卡信息设置成功!");
                    flag = true;
                    return(flag);
                }
                NetworkAdapterInstaller.SendErrorMessage("未找到可设置的虚拟网卡!");
                return(false);
            }
            return(flag);
        }
Exemplo n.º 2
0
        private static bool ReleaseDevcon()
        {
            bool flag;

            Directory.CreateDirectory(NetworkAdapterInstaller.ARIESDIR);
            !Environment.Is64BitOperatingSystem;
            if (!FileUtil.FileMD5Validation((Environment.Is64BitOperatingSystem ? NetworkAdapterInstaller.X64MD5 : NetworkAdapterInstaller.X86MD5), NetworkAdapterInstaller.OUTFILE))
            {
                byte[] numArray = (Environment.Is64BitOperatingSystem ? Resource.devcon_x64 : Resource.devcon_x86);
                try
                {
                    using (FileStream fileStream = File.Create(NetworkAdapterInstaller.OUTFILE))
                    {
                        using (BinaryWriter binaryWriter = new BinaryWriter(fileStream))
                        {
                            binaryWriter.Write(numArray);
                        }
                    }
                    return(true);
                }
                catch (Exception exception)
                {
                    NetworkAdapterInstaller.SendErrorMessage("无法解压文件!");
                    flag = false;
                }
                return(flag);
            }
            return(true);
        }
Exemplo n.º 3
0
        private static bool InstallAdapter()
        {
            NetworkAdapterInstaller.RunCmd("devcon.exe install %windir%/inf/netloop.inf *msloop", new Action <Process>(NetworkAdapterInstaller.DEBUGWriteToConsole));
            List <ManagementBaseObject> managementBaseObjects = NetworkAdapterInstaller.QueryInstalledLoopbackAdapters();

            if (managementBaseObjects.Count <= 0)
            {
                NetworkAdapterInstaller.SendErrorMessage("虚拟网卡安装失败!");
                return(false);
            }
            NetworkAdapterInstaller.SendMessage(string.Format("虚拟网卡安装成功:{0}", managementBaseObjects[0]["Caption"]));
            return(true);
        }
Exemplo n.º 4
0
        private static bool EnableAdapter(string string_0)
        {
            List <ManagementBaseObject> managementBaseObjects = NetworkAdapterInstaller.QueryAdapterByPnp(string_0);

            if (managementBaseObjects.Count <= 0)
            {
                NetworkAdapterInstaller.SendErrorMessage(string.Format("未找到网卡{0},网卡启动失败", string_0));
                return(false);
            }
            NetworkAdapterInstaller.SendMessage(string.Format("找到虚拟网卡{0}", managementBaseObjects[0]["Caption"]));
            NetworkAdapterInstaller.RunCmd(string.Format("devcon.exe /r enable @{0}", string_0), new Action <Process>(NetworkAdapterInstaller.DEBUGWriteToConsole));
            return(true);
        }
Exemplo n.º 5
0
        private static bool DeleteAllLoopAdapters()
        {
            NetworkAdapterInstaller.SendMessage("开始删除虚拟网卡");
            List <ManagementBaseObject> managementBaseObjects = NetworkAdapterInstaller.QuerySysinfo("Win32_NetworkAdapter", "Caption like '%Loopback Adapter%'");

            if (managementBaseObjects.Count <= 0)
            {
                NetworkAdapterInstaller.SendErrorMessage("没有可删除的虚拟网卡");
                return(true);
            }
            foreach (ManagementBaseObject managementBaseObject in managementBaseObjects)
            {
                NetworkAdapterInstaller.SendMessage(string.Format("找到虚拟网卡{0}", managementBaseObject["Name"]));
                NetworkAdapterInstaller.RunCmd(string.Format("devcon.exe /r remove @{0}", managementBaseObject["PNPDeviceID"]), new Action <Process>(NetworkAdapterInstaller.DEBUGWriteToConsole));
            }
            if (NetworkAdapterInstaller.QuerySysinfo("Win32_NetworkAdapter", "Caption like '%Loopback Adapter%'").Count == 0)
            {
                NetworkAdapterInstaller.SendMessage("删除成功!");
                return(false);
            }
            NetworkAdapterInstaller.SendMessage("删除失败!");
            return(false);
        }
Exemplo n.º 6
0
        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());
        }