/// <summary>
        /// 下载核心
        /// </summary>
        /// <param name="path"></param>
        /// <param name="dir"></param>
        /// <param name="filename"></param>
        /// <param name="id"></param>
        private void DownloadCore(string path, string dir, string filename)
        {
            try
            {
                using (FileDownloader loader = new FileDownloader(path, dir, filename, ThreadNum))
                {
                    DownMessageDto msg = new DownMessageDto();
                    msg.Tag       = DownStatus.Start;
                    msg.MD5String = FileId;
                    msg.Length    = (int)loader.getFileSize();
                    SendMsgAction(msg);

                    using (DownloadProgressListener linstenter = new DownloadProgressListener(msg))
                    {
                        linstenter.doSendMsg = new DownloadProgressListener.dlgSendMsg(SendMsgAction);
                        loader.DownloadAction(linstenter);//真正开始下载数据
                    }
                }
            }
            catch (Exception ex)
            {
                DownMessageDto msg = new DownMessageDto();
                msg.Length     = 0;
                msg.Tag        = DownStatus.Error;
                msg.ErrMessage = ex.Message;
                msg.MD5String  = FileId;
                SendMsgAction(msg);

                Console.WriteLine(ex.Message);
            }
        }
		static DownloadManager()
		{
			ms_DownloadManager = XpcomHelper.GetService<nsIDownloadManager>(Xpcom.NS_DOWNLOADMANAGER_CONTRACTID);
			ms_DownloadProgressListener = new DownloadProgressListener();
			ms_DownloadManager.AddListener(ms_DownloadProgressListener);

			var observerService = XpcomHelper.GetService<nsIObserverService>(Xpcom.NS_OBSERVERSERVICE_CONTRACTID);
			observerService.AddObserver(ms_DownloadProgressListener, "download-manager-remove-download", false);

			ms_DownloadManagerPreferences = new Lazy<PreferencesBranch>(() => PreferencesService.GetUserBranch("browser.download.manager"));
		}