Esempio n. 1
0
        private void Download(Parameter parameter)
        {
            try
            {
                if (!XL.XL_Init())
                {
                    Info?.Invoke("XL_Init初始化失败");
                    return;
                }
                XL.DownTaskParam param = new XL.DownTaskParam
                {
                    IsResume  = 0,
                    szTaskUrl = parameter.Url,
                    //szTaskUrl = "http://fs.vip.pc.kugou.com/201710131333/37a71efa9b14f17114a2d517d8f85188/G075/M07/0A/03/iw0DAFffseSARTOUASifkQnHJbE89.flac",
                    szFilename = parameter.FileName, //"邝美云 - 去.flac",
                    szSavePath = parameter.SaveTo
                };
                ptrDownloadTask = XL.XL_CreateTask(param);
                timer.Start();

                var status = XL.XL_StartTask(ptrDownloadTask);
            }
            catch (Exception e)
            {
                Info?.Invoke(e.Message);
                Success  = false;
                Finished = true;
            }
        }
Esempio n. 2
0
        //下载
        private void skinButton1_Click(object sender, EventArgs e)
        {
            try
            {
                foreach (ListViewItem item in resultListView.CheckedItems)
                {
                    timer1.Enabled  = true;
                    timer1.Interval = 500;
                    var initSuccess = XL.XL_Init();

                    if (initSuccess)
                    {
                        XL.DownTaskParam p = new XL.DownTaskParam()
                        {
                            IsResume = 0,
                            //szTaskUrl = Result[listBox1.SelectedIndex],//下载地址
                            szTaskUrl  = item.Tag.ToString(),
                            szFilename = item.Text + ".flac", //保存文件名
                            szSavePath = target               //下载目录
                        };
                        a = XL.XL_CreateTask(p);
                        var startSuccess = XL.XL_StartTask(a);
                    }
                    else
                    {
                        MessageBox.Show("XL_Init初始化失败");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 3
0
 public void DownLown(string id, string br, string name)
 {
     try
     {
         timer1.Enabled  = true;
         timer1.Interval = 500;
         var initSuccess = XL.XL_Init();
         if (initSuccess)
         {
             XL.DownTaskParam p = new XL.DownTaskParam()
             {
                 IsResume   = 0,
                 szTaskUrl  = GetUrl(id, br), //下载地址
                 szFilename = name + ".mp3",  //保存文件名
                 szSavePath = target          //下载目录
             };
             a = XL.XL_CreateTask(p);
             var startSuccess = XL.XL_StartTask(a);
         }
         else
         {
             MessageBox.Show("迅雷初始化失败");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Esempio n. 4
0
 private void button1_Click(object sender, EventArgs e)
 {
     try
     {
         button1.Enabled = false;
         timer1.Enabled  = true;
         timer1.Interval = 500;
         var initSuccess = XL.XL_Init();
         if (initSuccess)
         {
             XL.DownTaskParam p = new XL.DownTaskParam()
             {
                 szTaskUrl  = textBox1.Text,
                 szFilename = "1.MP3",
                 szSavePath = AppDomain.CurrentDomain.BaseDirectory
             };
             a = XL.XL_CreateTask(p);
             var startSuccess = XL.XL_StartTask(a);
         }
         else
         {
             MessageBox.Show("XL_Init初始化失败");
         }
     }
     catch (Exception ex)
     {
         button1.Enabled = true;
         MessageBox.Show(ex.Message);
     }
 }
Esempio n. 5
0
 private void btnDown_Click(object sender, EventArgs e)
 {
     try
     {
         btnDown.Enabled = false;
         timer1.Enabled  = true;
         timer1.Interval = 500;
         var initSuccess = XL.XL_Init();
         if (initSuccess)
         {
             XL.DownTaskParam p = new XL.DownTaskParam()
             {
                 IsResume   = 0,
                 szTaskUrl  = urlTextbox.Text,
                 szFilename = FilenameText.Text,
                 szSavePath = AppDomain.CurrentDomain.BaseDirectory
             };
             a = XL.XL_CreateTask(p);
             var startSuccess = XL.XL_StartTask(a);
             downProgress.Focus();
         }
         else
         {
             MessageBox.Show("XL_Init初始化失败");
         }
     }
     catch (Exception ex)
     {
         btnDown.Enabled = true;
         MessageBox.Show(ex.Message);
     }
 }
Esempio n. 6
0
        public void Download()
        {
            try
            {
                timer1.Enabled  = true;
                timer1.Interval = 500;
                var initSuccess = XL.XL_Init();

                if (initSuccess)
                {
                    XL.DownTaskParam p = new XL.DownTaskParam()
                    {
                        IsResume = 0,
                        //szTaskUrl = Result[listBox1.SelectedIndex],//下载地址
                        szTaskUrl  = "https://codeload.github.com/Gsangu/KugouDownloader/zip/master",
                        szFilename = "KugouDownloader.zip", //保存文件名
                        szSavePath = target                 //下载目录
                    };
                    a = XL.XL_CreateTask(p);
                    var startSuccess = XL.XL_StartTask(a);
                }
                else
                {
                    Console.WriteLine("XL_Init初始化失败");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Esempio n. 7
0
 /// <summary>
 /// 下载文件
 /// </summary>
 /// <param name="url"></param>
 private void BlinkBrowser1_OnDownloadFile(string url)
 {
     //只是简单实现下载,可以模仿其他下载界面,先弹出一个窗体,让用户选择保存路径文件名什么的。
     //使用前先拷贝 libs/XL 目录中文件到软件运行目录。
     if (File.Exists("xldl.dll"))
     {
         var initSuccess = XL.XL_Init();
         if (initSuccess)
         {
             XL.DownTaskParam p = new XL.DownTaskParam()
             {
                 IsResume   = 0,
                 szTaskUrl  = textBox1.Text,
                 szFilename = url.Substring(url.LastIndexOf('/') + 1),//简单处理文件名,实际中还需要单独处理,这里有BUG
                 szSavePath = AppDomain.CurrentDomain.BaseDirectory
             };
             taskPtr = XL.XL_CreateTask(p);
             var startSuccess = XL.XL_StartTask(taskPtr);
             if (startSuccess)
             {
                 queryTimer.Interval = 500;//半秒查询一次状态
                 queryTimer.Tick    += (s, e) =>
                 {
                     var queryRes = XL.XL_QueryTaskInfoEx(taskPtr, taskInfo);
                     if (queryRes)
                     {
                         if (taskInfo.stat == XL.DOWN_TASK_STATUS.TSC_COMPLETE)
                         {
                             queryTimer.Enabled = false;
                             MessageBox.Show("下载完成。" + taskInfo.stat);
                             //下载完成。
                             Console.WriteLine("下载完成");
                         }
                         else if (taskInfo.stat == XL.DOWN_TASK_STATUS.TSC_ERROR)
                         {
                             queryTimer.Enabled = false;
                             MessageBox.Show("下载失败。" + taskInfo.stat);
                         }
                         else
                         {
                             Console.WriteLine(string.Format("{0} {1} 进度{2},速度{3},状态{4}", DateTime.Now, taskInfo.szFilename, taskInfo.fPercent, taskInfo.nSpeed, taskInfo.stat));
                         }
                     }
                 };
                 queryTimer.Enabled = true;
             }
         }
         else
         {
             MessageBox.Show("XL_Init初始化失败");
         }
     }
     else
     {
         MessageBox.Show("请先将 libs/XL 目录中文件到软件运行目录。");
     }
 }
Esempio n. 8
0
        /// <summary>
        /// 使用API方式下载,停止,删除
        /// </summary>
        private static void Test1()
        {
            // 建立任务
            var param = new XL.DownTaskParam()
            {
                TaskUrl  = "https://down5.huorong.cn/sysdiag-all-4.0.19.4.exe",
                SavePath = @".\",
                FileName = "test1.exe",
            };
            var task = XL.CreateTask(param);

            Debug.Assert(task != null);

            // 启动任务
            var ok = XL.StartTask(task);

            Debug.Assert(ok);

            // 下载5秒
            Thread.Sleep(5000);

            // 停止任务
            ok = XL.StopTask(task);
            Debug.Assert(ok);

            // 等待任务完全停止
            var taskInfo = new XL.TaskInfo();

            while (XL.QueryTaskInfoEx(task, taskInfo))
            {
                Console.WriteLine(taskInfo.State);
                if (taskInfo.State == XL.TaskStatus.Pause)
                {
                    break;
                }
                Thread.Sleep(1000);
            }

            // 移除任务
            ok = XL.DeleteTask(task);
            Debug.Assert(ok);

            // 清理临时文件
            ok = XL.DelTempFile(param);
            Debug.Assert(ok);
        }
Esempio n. 9
0
        /// <summary>
        /// 下载
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void downBtn_Click(object sender, EventArgs e)
        {
            try
            {
                hTasks.Clear();
                toolStripProgressBar1.Value   = 0;
                toolStripProgressBar1.Visible = true;
                foreach (ListViewItem item in resultListView.CheckedItems)
                {
                    timer1.Enabled  = true;
                    timer1.Interval = 500;
                    var initSuccess = XL.XL_Init();

                    if (initSuccess)
                    {
                        //item.SubItems[]
                        XL.DownTaskParam p = new XL.DownTaskParam()
                        {
                            IsResume   = 0,
                            szTaskUrl  = item.Tag.ToString(),                     //下载地址
                            szFilename = item.Text + "." + item.SubItems[2].Text, //保存文件名
                            szSavePath = target                                   //下载目录
                        };
                        IntPtr hTask = XL.XL_CreateTask(p);
                        hTasks.Add(hTask);
                        var startSuccess = XL.XL_StartTask(hTask);
                    }
                    else
                    {
                        MessageBox.Show("XL_Init初始化失败");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 10
0
        static void Main(string[] args)
        {
            AppTCPServer server = new AppTCPServer("127.0.0.1", 6801);

            server.OnConnected += server_OnConnected;
            Console.WriteLine("按任意键结束程序……");
            Console.ReadKey();
            return;

            int ctr = 0;

            if (args.Length <= 0)
            {
                Console.WriteLine("{'status':'-9',msg:'no args'}");
                return;
            }
            else
            {
                Dictionary <String, String> pList = new Dictionary <String, String>();
                for (ctr = 0; ctr < args.Length; ctr++)
                {
                    //Console.WriteLine("Argument {0} is {1}", ctr + 1, args[ctr]);
                    try
                    {
                        string[] sArray = Regex.Split(args[ctr], "=");
                        pList.Add(sArray[0], sArray[1]);
                    }
                    catch {
                        Console.WriteLine("解析参数失败");
                    }
                }
                if (pList.ContainsKey("action"))
                {
                    switch (pList["action"])
                    {
                    case "download":
                        if (pList.ContainsKey("url") && pList["url"] != null)
                        {
                            String fileurl = pList["url"];

                            var initSuccess = XL.XL_Init();
                            if (initSuccess)
                            {
                                XL.DownTaskParam p = new XL.DownTaskParam()
                                {
                                    szTaskUrl  = fileurl,
                                    szFilename = pList["filename"],
                                    szSavePath = pList["path"]
                                };
                                a = XL.XL_CreateTask(p);
                                try{
                                    var startSuccess = XL.XL_StartTask(a);
                                    if (startSuccess)
                                    {
                                        Console.WriteLine("{'status':'1',msg:'start download " + pList["filename"] + "'}");
                                        for (int i = 0; i < 100; i = 0)
                                        {
                                            getPercent();
                                            Thread.Sleep(1000);                        //停一秒
                                        }
                                    }
                                    else
                                    {
                                        Console.WriteLine("{'status':'-3',msg:'start failed'}");
                                    }
                                }
                                catch {
                                    Console.WriteLine("{'status':'-4',msg:'download error'}");
                                }
                            }
                            else
                            {
                                Console.WriteLine("{'status':'-2',msg:'xlinit failed'}");
                            }
                        }
                        else
                        {
                            Console.WriteLine("{'status':'-1',msg:'no url'}");
                        }
                        break;
                    }
                }
                else
                {
                    Console.WriteLine("{'status':'-1',msg:'no action'}");
                }
                string inputNumber;
                inputNumber = Console.ReadLine();
            }
        }