示例#1
0
        /// <summary>
        /// 执行操作
        /// </summary>
        /// <param name="setting">控制码</param>
        public static void ProceedHostsOps(int setting, mainFrame mainForm)
        {
            SetConfig(setting);
            msg.SetDialog(0, Resources.msg_succ_ops);
            if (CheckConfig(setting))       //验证配置码
            {
                if (backup_flag)
                {
                    BackUpHosts();          //文件备份
                    msg.ShowDialog();
                    return;
                }
                if (recover_flag)
                {
                    RecoverHosts();         //恢复备份
                    msg.ShowDialog();
                    return;
                }

                try
                {
                    FileOps.ProceedFileOps(setting, mainForm);
                }
                catch
                {
                    return;
                }
                mainForm.Enabled = false;
                msg.SetDialog(0, Resources.msg_succ_ops);
                ReadHosts(SetSecondaryPath());
                try
                {
                    AssembleHead();
                    AssembleHosts(region_flags, mainForm);
                    ApplyHosts();
                }
                catch
                {
                    //Error 错误的文件
                    msg.SetDialog(3, Resources.msg_err_unr);
                }

                mainForm.Enabled = true;
            }
            else
            {
                //Error 错误的配置
                msg.SetDialog(2, Resources.msg_alert_cfg);
            }
            msg.ShowDialog();
            //修正主面板只是灯色彩
            foreach (int asmCount in regionOrder)
            {
                if (region_flags[asmCount] == 1)
                {
                    mainForm.TurnOn(asmCount);
                }
            }
        }