Пример #1
0
        private static void GenerateDownloadInfos(IResourceInfo[] res, StringBuilder sb)
        {
            foreach (var info in res)
            {
                switch (info.ResourceType)
                {
                case ResourceType.BitTorrent:
                    sb.Append("磁力链:");
                    break;

                case ResourceType.Ed2K:
                    sb.Append("电驴下载:");
                    break;

                case ResourceType.NetDisk:
                    if (info.NetDiskData == null)
                    {
                        continue;
                    }

                    switch (info.NetDiskData.NetDiskType)
                    {
                    case NetDiskType.Unknown:
                        sb.Append("网盘下载:");
                        break;

                    case NetDiskType.BaiduDesk:
                        sb.Append("百度网盘:");
                        break;

                    case NetDiskType.XlShare:
                        sb.Append("迅雷快传:");
                        break;

                    case NetDiskType.QqXf:
                        sb.Append("QQ旋风分享:");
                        break;

                    case NetDiskType.QihuShare:
                        sb.Append("360网盘分享:");
                        break;

                    case NetDiskType.Weiyun:
                        sb.Append("微云分享:");
                        break;
                    }
                    break;

                case ResourceType.MultiResource:
                    GenerateDownloadInfos(info.SubResources, sb);
                    continue;
                }
                sb.Append("【");
                sb.Append(info.Title);
                sb.AppendLine("】");

                sb.AppendLine(BrtUtility.BuildDetailLink(info));
                sb.AppendLine();
            }
        }
Пример #2
0
        private void Itemq_Click(object sender, EventArgs e)
        {
            var reses = Current;

            if (reses == null || !reses.Any())
            {
                return;
            }

            foreach (var info in reses)
            {
                var link = BrtUtility.BuildDetailLink(info);
                if (link.IsNullOrEmpty())
                {
                    continue;
                }

                var slink = "qqdl://" + Convert.ToBase64String(Encoding.UTF8.GetBytes(link));
                try
                {
                    Process.Start(slink);
                }
                catch (Exception)
                {
                    return;
                }
            }
        }
Пример #3
0
        void CheckV6Speed()
        {
            var reg = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(@"v6player\shell\open\command");

            if (reg == null)
            {
                return;
            }

            var command  = (reg.GetValue("") ?? "").ToString();
            var filepath = DownUtility.GetFilePath(command);

            if (filepath.IsNullOrEmpty())
            {
                return;
            }

            reg.Close();
            var item = new ToolStripMenuItem("使用V6Player下载", Properties.Resources.v6Speed_16);

            item.Click += (s, e) =>
            {
                var reses = Current;
                if (reses == null || !reses.Any())
                {
                    return;
                }

                foreach (var info in reses)
                {
                    var link = BrtUtility.BuildDetailLink(info);
                    if (link.IsNullOrEmpty())
                    {
                        continue;
                    }

                    try
                    {
                        Process.Start(filepath, link);
                    }
                    catch (Exception)
                    {
                        return;
                    }
                }
            };
            _parentItem.DropDownItems.Add(item);
        }
Пример #4
0
        void CheckThunder()
        {
            var reg = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey("thunder");

            if (reg == null)
            {
                return;
            }

            reg.Close();
            var item = new ToolStripMenuItem("使用迅雷下载", Properties.Resources.thunder_16);

            item.Click += (s, e) =>
            {
                var reses = Current;
                if (reses == null || !reses.Any())
                {
                    return;
                }

                foreach (var info in reses)
                {
                    var link = BrtUtility.BuildDetailLink(info);
                    if (link.IsNullOrEmpty())
                    {
                        continue;
                    }

                    var slink = "thunder://" + Convert.ToBase64String(Encoding.UTF8.GetBytes($"AA{link}ZZ"));
                    try
                    {
                        Process.Start(slink);
                    }
                    catch (Exception)
                    {
                        return;
                    }
                }
            };
            _parentItem.DropDownItems.Add(item);
        }
Пример #5
0
        void CheckuTorrent()
        {
            var path = Environment.ExpandEnvironmentVariables("%AppData%\\uTorrent\\uTorrent.exe");

            if (!File.Exists(path))
            {
                return;
            }

            var item = new ToolStripMenuItem("用uTorrent下载(仅支持BT资源)", Properties.Resources.uTorrent_16_16_32);

            item.Click += (s, e) =>
            {
                var reses = Current;
                if (reses == null || !reses.Any())
                {
                    return;
                }

                foreach (var info in reses.Where(x => x.ResourceType == ResourceType.BitTorrent))
                {
                    var link = BrtUtility.BuildDetailLink(info);
                    if (link.IsNullOrEmpty())
                    {
                        continue;
                    }

                    try
                    {
                        Process.Start(path, "\"" + link + "\"");
                    }
                    catch (Exception)
                    {
                        return;
                    }
                }
            };
            _parentItem.DropDownItems.Add(item);
        }
Пример #6
0
        private void LaunchCustomeItem(object sender, EventArgs e)
        {
            var reses = Current;

            if (reses == null || !reses.Any())
            {
                return;
            }

            var dp = _option.DownloadParameters.GetValue(((sender as ToolStripMenuItem).Tag as string) ?? "");

            if (dp == null)
            {
                return;
            }

            foreach (var info in reses)
            {
                var link = BrtUtility.BuildDetailLink(info);
                if (link.IsNullOrEmpty())
                {
                    continue;
                }

                var path      = BindInfo(dp.Path, info, link);
                var parameter = BindInfo(dp.Parameter, info, link);
                try
                {
                    Process.Start(path, parameter);
                }
                catch (Exception)
                {
                    return;
                }
            }
        }