コード例 #1
0
ファイル: PanelManager.cs プロジェクト: losepure/smw
        //读取面板网卡信息
        public NetCard readIpPanel()
        {
            ComboBox comboBox = this.comboBox;
            TextBox[] ip = this.tbsDic["ip"];
            TextBox[] mask = this.tbsDic["mask"];
            TextBox[] gateway = this.tbsDic["gateway"];
            TextBox[] dns1 = this.tbsDic["dns1"];
            TextBox[] dns2 = this.tbsDic["dns2"];

            string ipStr = ip[0].Text + "." + ip[1].Text + "." + ip[2].Text + "." + ip[3].Text;
            string maskStr = mask[0].Text + "." + mask[1].Text + "." + mask[2].Text + "." + mask[3].Text;
            string gatewayStr = gateway[0].Text + "." + gateway[1].Text + "." + gateway[2].Text + "." + gateway[3].Text;
            string dns1Str;
            if (dns1[0].Text == "" && dns1[1].Text == "" && dns1[2].Text == "" && dns1[3].Text == "")
            {
                dns1Str = "none";
            }
            else
            {
                dns1Str = dns1[0].Text + "." + dns1[1].Text + "." + dns1[2].Text + "." + dns1[3].Text;
            }
            string dns2Str;
            if (dns2[0].Text == "" && dns2[1].Text == "" && dns2[2].Text == "" && dns2[3].Text == "")
            {
                dns2Str = "none";
            }
            else
            {
                dns2Str = dns2[0].Text + "." + dns2[1].Text + "." + dns2[2].Text + "." + dns2[3].Text;
            }

            NetCard netcard = new NetCard(comboBox.Text, ipStr, maskStr, gatewayStr, dns1Str, dns2Str, null);
            return netcard;
        }
コード例 #2
0
ファイル: SkinFrm.cs プロジェクト: losepure/smw
 public SkinFrm(NetCard netCard, DbManager db)
 {
     InitializeComponent();
     this.db         = db;
     this.localIpDic = this.db.getRow2Dic("pcInfo");
     this.netCard    = netCard;
 }
コード例 #3
0
ファイル: FirstUseFrm.cs プロジェクト: losepure/smw
        private void FirstUseFrm_Load(object sender, EventArgs e)
        {
            //初始化pm对象,获得可用网卡
            PanelManager pm = new PanelManager();

            netcard = pm.getEnableCard();
        }
コード例 #4
0
ファイル: Tools.cs プロジェクト: losepure/smw
 /// <summary>
 ///
 /// </summary>
 /// <param name="db">更新数据库pc的ip信息</param>
 /// <param name="netcard">可用网卡实例</param>
 public static void updatePcInfo(DbManager db, NetCard netcard)
 {
     db.updateConfigField <string>("pcInfo", "netCardName", netcard.Name);
     db.updateConfigField <string>("pcInfo", "ip", netcard.Ip);
     db.updateConfigField <string>("pcInfo", "mask", netcard.Mask);
     db.updateConfigField <string>("pcInfo", "gateway", netcard.Gateway);
     db.updateConfigField <string>("pcInfo", "dns1", netcard.Dns1);
     db.updateConfigField <string>("pcInfo", "dns2", netcard.Dns2);
     db.updateConfigField <string>("pcInfo", "iNode", Tools.getiNodeUsername());
     db.updateConfigField <string>("pcInfo", "sysUser", Tools.getUsers()[0]);
 }
コード例 #5
0
ファイル: NetCards.cs プロジェクト: losepure/smw
 public NetCards()
 {
     NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
     foreach (NetworkInterface adapter in adapters)
     {
         string      fRegistryKey = "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\" + adapter.Id + "\\Connection";
         RegistryKey rk           = Registry.LocalMachine.OpenSubKey(fRegistryKey, false);
         if (rk != null)
         {
             // 区分 PnpInstanceID
             // 如果前面有 PCI 就是本机的真实网卡
             string fPnpInstanceID = rk.GetValue("PnpInstanceID", "").ToString();
             int    fMediaSubType  = Convert.ToInt32(rk.GetValue("MediaSubType", 0));
             if (fPnpInstanceID.Length > 3 && fPnpInstanceID.Substring(0, 3) == "PCI")
             {
                 IPInterfaceProperties ipProperties = adapter.GetIPProperties();
                 UnicastIPAddressInformationCollection curIPCollection = ipProperties.UnicastAddresses;
                 UnicastIPAddressInformation           curIP;
                 //获取IP
                 if (curIPCollection.Count > 1)
                 {
                     curIP = ipProperties.UnicastAddresses[curIPCollection.Count - 1];
                 }
                 else
                 {
                     curIP = ipProperties.UnicastAddresses[0];
                 }
                 string name    = adapter.Name;                                            //获得连接名称
                 string ip      = curIP.Address.ToString();                                // 添加IP地址
                 string mask    = curIP.IPv4Mask == null ? "" : curIP.IPv4Mask.ToString(); // 添加子网掩码
                 string gateway = ipProperties.GatewayAddresses[0].Address.ToString();     //添加默认网关
                 //获取dns
                 IPAddressCollection dnsCollection = ipProperties.DnsAddresses;
                 string dns1 = "";
                 string dns2 = "";
                 if (dnsCollection.Count == 1)
                 {
                     dns1 = dnsCollection[0].ToString();
                 }
                 else if (dnsCollection.Count == 2)
                 {
                     dns1 = dnsCollection[0].ToString();
                     dns2 = dnsCollection[1].ToString();
                 }
                 NetCard netCard = new NetCard(name, ip, mask, gateway, dns1, dns2, adapter);
                 netCardDic.Add(name, netCard);
             }
         }
     }
 }
コード例 #6
0
ファイル: PanelManager.cs プロジェクト: losepure/smw
 /// <summary>
 /// 获得第一个可用的网卡
 /// </summary>
 /// <returns></returns>
 public NetCard getEnableCard()
 {
     this.netCardDic = this.netCards.getAllNetCard();
     //遍历网卡写入
     foreach (KeyValuePair<string, NetCard> kv in this.netCardDic)
     {
         NetCard netcard = kv.Value;
         if (!netcard.isDrop() && netcard.isEnableIp())
         {
             return netcard;
         }
     }
     return null;
 }
コード例 #7
0
 public NetworkDoctor(NetCard netCard, DbManager Db)
 {
     //创建网卡对象
     this.netCards = new NetCards();
     //获取所有网卡字典
     this.netCardDic = this.netCards.getAllNetCard();
     //设置当前要诊断的网卡
     this.netCard = netCard;
     //设置数据库对象
     this.db = Db;
     //获取对应设置参数
     this.localIpDic   = this.db.getRow2Dic("pcInfo");
     this.pingIpDic    = this.db.getDic <string, string>("pingIp", "webName", "ip");
     this.sysConfigDic = this.db.getRow2Dic("sysConfig");
 }
コード例 #8
0
        /// <summary>
        /// 检查DNS是否设置正确
        /// </summary>
        /// <returns></returns>
        public NetworkDoctorBackObj checkDNS()
        {
            NetworkDoctorBackObj backObj = new NetworkDoctorBackObj("dns");

            backObj.Status = true;
            statusUI(2, "start", true);
            refreshUI(2, "msg", "开始检查");
            Thread.Sleep(1000);
            if (!this.netCard.isEnableDns(sysConfigDic["defaultDNS1"], sysConfigDic["defaultDNS2"]))
            {
                refreshUI(2, "msg", "发现本地dns地址设置错误..");
                backObj.addMsg("发现本地dns地址设置错误..\r\n");
                backObj.Status = false;
                refreshUI(2, "msg", "尝试从本地恢复正确的DNS配置..");
                backObj.addMsg("尝试从本地恢复正确的DNS配置..\r\n");
                this.netCard.setDns(sysConfigDic["defaultDNS1"], sysConfigDic["defaultDNS2"]);
                refreshUI(2, "msg", "检查DNS是否设置成功..");
                backObj.addMsg("检查DNS是否设置成功..\r\n");
                this.netCard = refreshNetCard(this.netCard.Name);
                if (!this.netCard.isEnableDns(sysConfigDic["defaultDNS1"], sysConfigDic["defaultDNS2"]))
                {
                    refreshUI(2, "msg", "DNS地址设置失败..");
                    backObj.addMsg("DNS地址设置失败..\r\n");
                    backObj.addSugest("请尝试手动设置DNS地址\r\n");
                    refreshUI(2, "msg", "失败");
                    statusUI(2, "end", false);
                }
                else
                {
                    refreshUI(2, "msg", "DNS地址设置成功!");
                    statusUI(2, "end", true);
                    refreshUI(2, "msg", "正常");
                    backObj.addMsg("DNS地址正常\r\n");
                    backObj.Status = true;
                }
            }
            else
            {
                backObj.addMsg("DNS地址正常\r\n");
                refreshUI(2, "msg", "正常");
                statusUI(2, "end", true);
            }
            TaskStepCallBack(backObj);
            return(backObj);
        }
コード例 #9
0
        private void btn_changeIp_Click(object sender, EventArgs e)
        {
            cmdM cmdm = () => pm.changeIp();

            this.BeginInvoke(cmdm);
            MessageBox.Show("修改成功!");
            //重新读取面板
            NetCard netcard = pm.readIpPanel();

            //判断更改后的IP能否ping通,如果能,则保存新的ip配置
            System.Threading.Timer threadTimer = new System.Threading.Timer(new System.Threading.TimerCallback(delegate {
                NetworkDoctorBackObj backObj = networkDoctor.checkNetwork(netcard);
                if (netcard.isEnableIp() && backObj.Status)
                {
                    Tools.updatePcInfo(db, netcard);
                }
            }), null, 8000, 0);
        }
コード例 #10
0
        /// <summary>
        /// 检查网络
        /// </summary>
        /// <returns></returns>
        public NetworkDoctorBackObj checkNetwork(NetCard netcard)
        {
            NetworkDoctorBackObj backObj = new NetworkDoctorBackObj("network");

            backObj.Status = true;
            Dictionary <string, string> connectNetTestResultDic = netCard.connectNetTest(this.pingIpDic);

            foreach (KeyValuePair <string, string> kv in connectNetTestResultDic)
            {
                if (kv.Value != "成功")
                {
                    backObj.Status = false;
                    backObj.addMsg("网络状态异常\r\n");
                    break;
                }
            }
            TaskStepCallBack(backObj);
            return(backObj);
        }
コード例 #11
0
ファイル: PanelManager.cs プロジェクト: losepure/smw
        /// <summary>
        /// 根据面板值修改IP
        /// </summary>
        public NetCard changeIp()
        {
            NetCard netcard = readIpPanel();
            if (netcard == null) return null;
            string reStr = "";

            string setIp = "netsh interface ip set address name=" + netcard.Name + " source=static addr=" + netcard.Ip + " mask=" + netcard.Mask + " gateway=" + netcard.Gateway + " gwmetric=1";
            string command1 = "echo 正在修改IP配置..&&" + setIp;
            RunCmd.run(command1, out reStr);
            //MessageBox.Show(reStr);

            string setDns1 = "netsh interface ip set dns name=\"" + netcard.Name + "\" source=static addr=" + netcard.Dns1 + " register=primary";
            string setDns2 = "netsh interface ip add dns name=\"" + netcard.Name + "\" " + netcard.Dns2 + " index=2";
            string command2 = "echo 正在修改DNS.." + " && " + setDns1 + " && " + setDns2;
            reStr = "";
            RunCmd.run(command2, out reStr);
            return netcard;
            //MessageBox.Show(reStr);
        }
コード例 #12
0
ファイル: PanelManager.cs プロジェクト: losepure/smw
        public void writeIpPanel(NetCard netcard)
        {
            if (netcard.Name != "")
            {
                comboBox.Text = netcard.Name;
            }
            if (netcard.Ip != "")
            {

                string[] ipStrs = netcard.Ip.Split('.');
                fillPanel(this.tbsDic["ip"], ipStrs);
            }
            if (netcard.Mask != "")
            {
                string[] maskStrs = netcard.Mask.Split('.');
                fillPanel(this.tbsDic["mask"], maskStrs);
            }
            if (netcard.Gateway != "")
            {
                string[] gatewayStrs = netcard.Gateway.Split('.');
                fillPanel(this.tbsDic["gateway"], gatewayStrs);
            }

            if (netcard.Dns1 != "" && !netcard.Dns1.Contains(":"))
            {

                string[] dns1Strs = netcard.Dns1.Split('.');
                fillPanel(this.tbsDic["dns1"], dns1Strs);
            }
            if (netcard.Dns2 != "" && !netcard.Dns2.Contains(":"))
            {
                string[] dns2Strs = netcard.Dns2.Split('.');
                fillPanel(this.tbsDic["dns2"], dns2Strs);
            }
            string iNodeName = Tools.getiNodeUsername();
            if (iNodeName != "")
            {
                this.tbsDic["iNode"][0].Text = iNodeName;
            }
        }
コード例 #13
0
ファイル: PanelManager.cs プロジェクト: losepure/smw
        private void initPanel()
        {
            //遍历网卡填入下拉列表,同时判断是否有设置合适的网卡
            foreach (KeyValuePair<string, NetCard> kv in this.netCardDic)
            {
                this.comboBox.Items.Add(kv.Key);
                NetCard netcard = kv.Value;
                //if (this.isEnable) continue;
                if (!netcard.isDrop() && netcard.isEnableIp())
                {
                    this.isEnable = true;
                    this.selectedNetCardName = netcard.Name;
                    writeIpPanel();

                }
            }
            //如果没找到符合规定的网卡,那么就选择默认第一个
            if (!this.isEnable && comboBox.Items.Count>0)
            {
                this.selectedNetCardName = comboBox.Items[0].ToString();
                writeIpPanel();
            }
        }
コード例 #14
0
        public void Form1_Load(object sender, EventArgs e)
        {
            //判断是否第一次使用本软件
            if (!isJudgeFirstUse && Tools.isFirstUse())
            {
                this.Hide();
                FirstUseFrm firstUseFrm = new FirstUseFrm(this);
                firstUseFrm.ShowDialog();
                return;
            }


            //创建数据库对象
            db = new DbManager();
            db.init();



            //加载配置项
            Dictionary <string, string> sysConfig = db.getRow2Dic("sysConfig");
            bool autoRun     = Convert.ToBoolean(sysConfig["autoRun"]);
            bool autoConnect = Convert.ToBoolean(sysConfig["autoConnect"]);


            company_lab.Text = sysConfig["company"].ToString();
            tel_lab.Text     = sysConfig["phone"].ToString();


            //加载各类图片
            pic_icon.Image   = imageList1.Images["icon.png"];
            pic_tubiao.Image = imageList1.Images["tubiao.png"];
            pic_check.Image  = imageList1.Images["check.png"];
            pic_min.Image    = imageList1.Images["min.png"];
            pic_close.Image  = imageList1.Images["close.png"];
            //加载左侧ip面板控件
            tbsDic.Add("ip", new TextBox[4] {
                tbIp0, tbIp1, tbIp2, tbIp3
            });
            tbsDic.Add("mask", new TextBox[4] {
                tbMask0, tbMask1, tbMask2, tbMask3
            });
            tbsDic.Add("gateway", new TextBox[4] {
                tbGateway0, tbGateway1, tbGateway2, tbGateway3
            });
            tbsDic.Add("dns1", new TextBox[4] {
                tbZDns0, tbZDns1, tbZDns2, tbZDns3
            });
            tbsDic.Add("dns2", new TextBox[4] {
                tbFdns0, tbFdns1, tbFdns2, tbFdns3
            });
            tbsDic.Add("iNode", new TextBox[1] {
                tbiNode
            });
            //加载右侧控件
            labDic.Add("taskTip", new Label[5] {
                lab_jc0, lab_jc1, lab_jc2, lab_jc3, lab_jc4
            });
            labDic.Add("msg", new Label[5] {
                lab_suggest0, lab_suggest1, lab_suggest2, lab_suggest3, lab_suggest4
            });
            picDic.Add("loading", new PictureBox[5] {
                pic_jc0, pic_jc1, pic_jc2, pic_jc3, pic_jc4
            });



            //创建ip面板管理对象
            pm = new PanelManager(comboBox1, tbsDic);


            //创建诊断对象
            networkDoctor                   = new NetworkDoctor(pm.getSelectedNetCard(), db);
            networkDoctor.TaskStart        += taskStart;
            networkDoctor.refreshUI        += refreshUI;
            networkDoctor.statusUI         += statusUI;
            networkDoctor.TaskStepCallBack += taskStepCallBack;
            networkDoctor.TaskFinish       += taskFinish;



            //创建插件面板对象
            PlugManager plugManager = new PlugManager(this, plug_gb, imageList2);

            plugManager.drawItem("radminInstallAndActive", "Radmin配置", 1, 6);
            plugManager.drawItem("systemUserSafePwd", "账户密码安全", 2, 6);
            plugManager.drawItem("winUpdate", "系统自动升级", 3, 6);
            plugManager.drawItem("printShare", "打印共享修复", 4, 6);
            plugManager.drawItem("clearCDisk", "清除C盘垃圾", 5, 7);

            //如果面板不可用,则说明就没有可用的网卡,给出提示
            if (!pm.IsEnable)
            {
                MessageBox.Show("未找到可用的网卡,请开启诊断助手进行诊断!");
                return;
            }
            else
            {
                if (pm.getSelectedNetCard().isEnableIp())
                {
                    //保存网卡信息
                    string ipInfoPath = Application.StartupPath + "\\IpInfo.json";
                    if (!File.Exists(ipInfoPath))
                    {
                        NetCard selectedNetcard         = pm.getSelectedNetCard();
                        Dictionary <string, string> dic = new Dictionary <string, string>();
                        dic.Add("ip", selectedNetcard.Ip);
                        dic.Add("mask", selectedNetcard.Mask);
                        dic.Add("gateway", selectedNetcard.Gateway);
                        dic.Add("dns1", "10.208.4.100");
                        dic.Add("dns2", "10.208.4.200");
                        Tools.saveJsonFile(ipInfoPath, dic);
                    }
                }
            }

            //更改托盘图片提示
            notifyIcon1.Text = "本机IP:" + pm.getEnableCard().Ip;

            //加载桌面悬浮信息
            SkinFrm skinfrm = new SkinFrm(pm.getSelectedNetCard(), db);

            skinfrm.Show();



            //创建计划类对象
            plm = new PlanManager(db, this);
            plm.netConnectUI += netConnectUI;
            if (autoConnect_ck.Checked)
            {
                plm.addPlan("网络连接状态");
            }
            else
            {
                plm.removePlan("网络连接状态");
            }
            //这个必须放在plm后面,因为调用了plm
            if (autoRun)
            {
                autoRun_ck.Checked = true;
            }
            else
            {
                autoRun_ck.Checked = false;
            }

            if (autoConnect)
            {
                autoConnect_ck.Checked = true;
            }
            else
            {
                autoConnect_ck.Checked = false;
            }
            plm.start();



            //绑定用户注册信息更新事件
            Tools.userInfoUI += getUserInfo;
        }
コード例 #15
0
ファイル: PanelManager.cs プロジェクト: losepure/smw
 public void writeIpPanel()
 {
     NetCard netcard = this.getSelectedNetCard();
     writeIpPanel(netcard);
 }
コード例 #16
0
ファイル: Tools.cs プロジェクト: losepure/smw
 /// <summary>
 /// 更新数据库pc的ip信息
 /// </summary>
 /// <param name="db">数据库对象</param>
 /// <param name="netcard">可用网卡实例</param>
 /// <param name="iNode">iNode账号</param>
 /// <param name="systemPwd">系统密码</param>
 public static void updatePcInfo(DbManager db, NetCard netcard, string iNode, string systemPwd)
 {
     updatePcInfo(db, netcard);
     db.updateConfigField <string>("pcInfo", "iNodePwd", iNode);
     db.updateConfigField <string>("pcInfo", "sysPwd", systemPwd);
 }
コード例 #17
0
        /// <summary>
        /// 检查IP地址是否设置正确
        /// </summary>
        /// <returns></returns>
        public NetworkDoctorBackObj checkIp()
        {
            NetworkDoctorBackObj backObj = new NetworkDoctorBackObj("ip");

            backObj.Status = true;
            statusUI(1, "start", true);
            refreshUI(1, "msg", "开始检查");
            Thread.Sleep(1000);

            //判断是否有NetCard符合ip规则
            string  enableNetCardName = "";
            NetCard enableNetCard     = null;

            foreach (KeyValuePair <string, NetCard> kv in netCardDic)
            {
                NetCard netCard = kv.Value;
                if (netCard.isEnableIp())
                {
                    enableNetCardName = kv.Key;
                    enableNetCard     = kv.Value;
                }
            }

            //检查IP地址是否可用
            refreshUI(1, "msg", "检查IP地址是否可用");
            if (enableNetCardName == "")
            {
                refreshUI(1, "msg", "发现本地ip地址设置错误..");
                backObj.addMsg("发现本地ip地址设置错误..\r\n");
                backObj.Status = false;
                if (this.localIpDic != null && this.localIpDic["netCardName"] != "")
                {
                    refreshUI(1, "msg", "尝试从本地恢复正确的IP配置..");
                    backObj.addMsg("尝试从本地恢复正确的IP配置..\r\n");
                    if (this.netCardDic.ContainsKey(this.localIpDic["netCardName"]))
                    {
                        this.netCard = this.netCardDic[this.localIpDic["netCardName"]];
                        this.netCard.setIp(this.localIpDic["ip"], this.localIpDic["mask"], this.localIpDic["gateway"]);
                        refreshUI(1, "msg", "检查IP是否设置成功..");
                        backObj.addMsg("检查IP是否设置成功..\r\n");
                        this.netCard = refreshNetCard(this.netCard.Name);
                        if (!this.netCard.isEnableIp())
                        {
                            refreshUI(1, "msg", "IP地址设置失败..");
                            backObj.addMsg("IP地址设置失败..\r\n");
                            backObj.addSugest("请尝试手动设置IP地址\r\n");
                            statusUI(1, "end", false);
                        }
                        else
                        {
                            refreshUI(1, "msg", "IP地址设置成功!");
                            statusUI(1, "end", true);
                            backObj.addMsg("IP地址正常\r\n");
                            backObj.Status = true;
                        }
                    }
                    else
                    {
                        refreshUI(1, "msg", "本地IP配置未存储,无法恢复");
                        Thread.Sleep(1000);
                        refreshUI(1, "msg", "失败");
                        statusUI(1, "end", false);
                    }
                }
            }
            //检查子网掩码是否可用
            //refreshUI(1, "msg", "检查子网掩码是否可用");
            //if (enableNetCard.isEnableMask())
            //{
            //    refreshUI(1, "msg", "子网掩码设置错误,尝试重新设置子网掩码..");
            //    backObj.addMsg("子网掩码设置错误,尝试重新设置子网掩码..\r\n");
            //    enableNetCard.setIp(enableNetCard.Ip, "255.255.255.0",enableNetCard.Gateway);
            //    refreshUI(1, "msg", "检查子网掩码是否设置成功..");
            //    backObj.addMsg("检查子网掩码是否设置成功..\r\n");
            //    this.netCard = refreshNetCard(enableNetCardName);
            //    if (!this.netCard.isEnableIp())
            //    {
            //        refreshUI(1, "msg", "子网掩码设置失败..");
            //        backObj.addMsg("子网掩码设置失败..\r\n");
            //        backObj.addSugest("请尝试手动设置子网掩码\r\n");
            //        statusUI(1, "end", false);
            //        return backObj;
            //    }
            //    else
            //    {
            //        refreshUI(1, "msg", "子网掩码设置成功!");
            //        statusUI(1, "end", true);
            //        backObj.addMsg("子网掩码正常\r\n");
            //        backObj.Status = true;
            //    }
            //}
            //检查默认网关是否可用
            refreshUI(1, "msg", "检查默认网关是否正确");
            if (enableNetCard != null)
            {
                string[] ipArr = enableNetCard.Ip.Split(new char[] { '.' });
                ipArr[3] = "1";
                string theoryGateway = string.Join(".", ipArr);
                if (enableNetCard.isEnableGateway())
                {
                    refreshUI(1, "msg", "网关设置错误,尝试重新设置网关..");
                    backObj.addMsg("网关设置错误,尝试重新设置网关..\r\n");
                    enableNetCard.setIp(enableNetCard.Ip, enableNetCard.Mask, theoryGateway);
                    refreshUI(1, "msg", "检查网关是否设置成功..");
                    backObj.addMsg("检查网关是否设置成功..\r\n");
                    this.netCard = refreshNetCard(enableNetCardName);
                    if (!this.netCard.isEnableGateway())
                    {
                        refreshUI(1, "msg", "网关地址设置失败..");
                        backObj.addMsg("网关地址设置失败..\r\n");
                        backObj.addSugest("请尝试手动设置网关地址\r\n");
                        statusUI(1, "end", false);
                        return(backObj);
                    }
                    else
                    {
                        refreshUI(1, "msg", "网关地址设置成功!");
                        statusUI(1, "end", true);
                        backObj.addMsg("网关地址正常\r\n");
                        backObj.Status = true;
                    }
                }
            }

            refreshUI(1, "msg", "正常");
            statusUI(1, "end", true);
            backObj.addMsg("IP地址正常\r\n");
            //任务完成了界面的返回
            TaskStepCallBack(backObj);
            return(backObj);
        }