找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8903|回复: 1
收起左侧

迅雷-天翼光速下载 奇葩获取方法

[复制链接]
ID:73735 发表于 2015-2-19 01:09 | 显示全部楼层 |阅读模式
      不知怎么的,家里的网速明明是10M,迅雷全速下载的速度总是维持在500 KB/s左右,去年还是好好的,最重要的是还有一个月的天翼光速试用,现在没有了。。。偶然之间,发现”高速通道加速“按钮,有时候会变成”试用光速通道“,可提升到30M,不过只有2分钟的试用时间。但貌似迅雷在这点上有bug,只要在试用结束后,彻底删除获得加速机会的文件,再重新下载,即可再次获取光速试用。
      接下来,就有疑问了,要怎样的文件才可获得光速试用的机会?回答是,我也不知道!不过一定不是随机的,要不就不会有同一个文件可不断重复的获得光速试用的事了。
      所以就有了下面有点脑残的想法,如果是通过程序不断重复新建下载,删除下载任务,获取光速试用呢?oh,dear, 这个可怜的文件。

//********************************************************************************************************************************************************************//
//********************************************************************************************************************************************************************//
本想通过程序获取迅雷窗口中的各句柄,再用SendMessage或PostMessage直接发送“立即下载”按钮等命令,这样就很简单了,不过后来用Spy++发现迅雷7以后的窗口都是”画“出来的,只能获取一个迅雷的大窗口,按钮的句柄没找到,所以这个行不通。
在网上搜了下,迅雷官网上有半公开的迅雷云加速SDK,通过加载dll,可以实现,但这个对我来说需要大量的投入时间。
所以我就盲人摸象,设定位置,模拟鼠标运动了。
具体思路:
      1、单击“新建”
      2、下载地址复制到剪贴板
      3、单击“立即下载”
      4、点击“暂停”
      5、点击“删除”
      6、单击“光速试用”
      7、125后程序彻底删除该文件,再重新回到步骤1。

//********************************************************************************************************************************************************************//
//********************************************************************************************************************************************************************//
程序一样是用delphi平台编写的。

界面布局:


部分关键代码:

//**************************************************************   点击启动按钮   ************************************************************************//
procedure TForm1.activeButtonClick(Sender: TObject);
begin
  if activeButton.Caption ='启动' then
    begin
      if downloadAdd.Text = '' then   //判断是否是空地址
      begin
        ShowMessage('下载地址无效!');
        Exit;
      end;
      activeButton.Caption:='停止';
      downloadAdd.Enabled:=false;
      Timer1.Enabled:=false;
      handle1:=FindWindow(nil, PChar('迅雷VIP尊享版')); //查找迅雷主窗口,获得句柄 handle1
      if handle1 <> 0 then
      begin
        //SetWindowPos(handle1,HWND_TOPMost,0,0,0,0,0);
        GetWindowRect(handle1,R1);    //定位窗口位置
        ImitateClick(R1.Left+189,R1.Top+88);  //设置鼠标位置 (“新建”),单击
        Sleep(300);

        handle2:=FindWindow(nil, PChar('新建任务'));  //查找新建任务窗口,获得句柄 handle2
        //SendMessage(handle2,WM_SETTEXT,255,Integer(PChar(downloadAdd.Text)));  //模拟发送字符
        GetWindowRect(handle2,R2);    //定位新建任务窗口位置
        ImitateClick(R2.Left+55,R2.Top+75); //设置鼠标位置,单击
        clipboard.AsText:=downloadAdd.Text;  //下载地址复制到剪贴板
        Sleep(300);
        keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0),0,0);  //模拟Ctrl+V
        keybd_event(Ord('V'),MapVirtualKey(Ord('V'),0),0,0);
        keybd_event(Ord('V'),MapVirtualKey(Ord('V'),0),KEYEVENTF_KEYUP,0);
        keybd_event(VK_CONTROL,MapVirtualKey(VK_CONTROL,0),KEYEVENTF_KEYUP,0);
        Sleep(100);
        ImitateClick(R2.Left+386,R2.Top+184); //设置鼠标位置(“立即下载”),单击
        Sleep(5000);

        ImitateClick(R1.Left+296,R1.Top+89); //设置鼠标位置 (“开始/暂停”)
        Sleep(300);
        ImitateClick(R1.Left+326,R1.Top+88); //设置鼠标位置 (“删除”),单击

        ImitateClick(R1.Left+460,R1.Top+120); //设置鼠标位置 (第一个文件位置),单击
        ImitateClick(R1.Left+626,R1.Top+166); //模拟鼠标单击(“光速试用”),单击

        Timer1.Enabled:=true; //125s定时开始
      end;
    end
  else
    begin                    //结束任务
      activeButton.Caption:='启动';
      Timer1.Enabled:=false;        //停止计时
      downloadAdd.Enabled:=true;

      DeleteDF(fileName.Text);     //删除下载文件
      DeleteDF('unknown');
      DeleteDF('401');
    end;

end;
//**************************************************************   点击删除按钮   ************************************************************************//

procedure TForm1.deleteButtonClick(Sender: TObject);
begin
  DeleteDF(fileName.Text);     //删除下载文件
  DeleteDF('unknown');
  DeleteDF('401');
  ShowMessage('文件已删除!');
end;

//**************************************************************   子函数DeleteDF   ************************************************************************//

procedure TForm1.DeleteDF(fName: String);   //功能:删除相同前缀文件
begin
  if FindFirst(downloadPath.Text+'\'+fName+'*.*',faAnyFile,SearchRec) =0 then
    begin     //查找相同前缀文件
      repeat
        DeleteFile(downloadPath.Text+'\'+SearchRec.Name);   //删除相同前缀文件
      until(FindNext(SearchRec)<>0);
      FindClose(SearchRec);
    end;
end;

//*******************************************  保持设置的下载链接与文件名一致,方便删除等操作  ****************************************************//

procedure TForm1.downloadAddChange(Sender: TObject);
begin
  fileName.ItemIndex:=downloadAdd.ItemIndex;  //保持下载链接与文件名一致
end;
procedure TForm1.fileNameChange(Sender: TObject);
begin
  downloadAdd.ItemIndex:=fileName.ItemIndex;  //保持下载链接与文件名一致
end;

//**************************************************************** 子函数ImitateClick **************************************************************************//

procedure TForm1.ImitateClick(x, y: integer); //功能:模拟鼠标单击
begin
  SetCursorPos(x,y);
  Mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); //模拟鼠标单击
  Mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
end;

//**************************************************************** 定时器Timer1 :125s *************************************************************************//

procedure TForm1.Timer1Timer(Sender: TObject);   //125s计时任务:删除下载文件,重复下载文件
begin
  Timer1.Enabled:=false;
  DeleteDF(fileName.Text);     //删除下载文件
  DeleteDF('unknown');
  DeleteDF('401');
  //下面代码与 procedure TForm1.activeButtonClick(Sender: TObject)中的操作相一致,不再重复
  (*
      1、单击“新建”
      2、下载地址复制到剪贴板
      3、单击“立即下载”
      4、点击“暂停”
      5、点击“删除”
      6、单击“光速试用”
  *)
  Timer1.Enabled:=true;
end;

//********************************************************************************************************************************************************************//
//********************************************************************************************************************************************************************//
显示效果:






速度基本都在2MB/s以上,当然,还是有缺陷的,必须保持迅雷窗口在桌面上!致命一击,只能在晚上睡觉时用了。











回复

使用道具 举报

ID:88765 发表于 2015-8-23 18:33 | 显示全部楼层
楼主,那里下载呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表