public void AnalysisTask(TaskInfo taskInfo)
        {
            var t = new Thread(() =>
            {
                try
                {
                    taskInfo.Status = DownloadStatus.TaskAnalysis;
                    PreDelegates.Refresh(new ParaRefresh(taskInfo));

                    if (taskInfo.Analysis())
                    {
                        taskInfo.Status = DownloadStatus.AnalysisComplete;
                        if (taskInfo.CustomFileName == "Unknow")
                        {
                            FormatFileName FFN = new FormatFileName();
                            taskInfo.CustomFileName = FFN.OutputFormat(taskInfo, CoreManager.ConfigManager.Settings.SelectFormat);
                        }
                        PreDelegates.Refresh(new ParaRefresh(taskInfo));
                    }
                    else
                    {
                        taskInfo.Status = DownloadStatus.AnalysisFailed;
                        PreDelegates.Refresh(new ParaRefresh(taskInfo));
                    }

                }
                catch (Exception ex)
                {
                    CoreManager.LogManager.Debug(ex.ToString());
                    taskInfo.Status = DownloadStatus.Error;
                    PreDelegates.Refresh(new ParaRefresh(taskInfo));
                    CoreManager.LogManager.Debug(ex.ToString());
                }

            }) {IsBackground = true};
            t.Start();
        }
        public void AnalysisTask(TaskInfo taskInfo)
        {
            var t = new Thread(() =>
            {
                try
                {
                    taskInfo.Status = DownloadStatus.TaskAnalysis;
                    PreDelegates.Refresh(new ParaRefresh(taskInfo));

                    if (taskInfo.Analysis())
                    {
                        taskInfo.Status = DownloadStatus.AnalysisComplete;
                        PreDelegates.Refresh(new ParaRefresh(taskInfo));
                    }
                    else
                    {
                        taskInfo.Status = DownloadStatus.AnalysisFailed;
                        PreDelegates.Refresh(new ParaRefresh(taskInfo));
                    }

                }
                catch (Exception ex)
                {
                    CoreManager.LogManager.Debug(ex.ToString());
                    taskInfo.Status = DownloadStatus.Error;
                    PreDelegates.Refresh(new ParaRefresh(taskInfo));
                    CoreManager.LogManager.Debug(ex.ToString());
                }

            }) {IsBackground = true};
            t.Start();
        }