日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁編程開發(fā)其它知識(shí) → 迅雷 API 接口說明文檔 -調(diào)用迅雷自動(dòng)下載

      迅雷 API 接口說明文檔 -調(diào)用迅雷自動(dòng)下載

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2011/11/25 15:02:39字體大小:A-A+

      作者:佚名點(diǎn)擊:1053次評(píng)論:0次標(biāo)簽: 迅雷7

      • 類型:壁紙主題大。103KB語言:中文 評(píng)分:6.0
      • 標(biāo)簽:
      立即下載

      我們可以利用迅雷提供的開放API接口來自動(dòng)下載文件.詳細(xì)的接口說明大家可以看下面的.

      先要說明一下的就是 迅雷的API接口是用 .com 來調(diào)用的

      首先就是腳本了,各種語言寫法不同,我這里提供用vbs寫的:
      復(fù)制代碼 代碼如下:
      Set ThunderAgent = CreateObject("ThunderAgent.Agent.1")
      Call ThunderAgent.AddTask("http://www.jb51.net/files/bjhyn.mp3","北京歡迎你.mp3","c:\a\","","http://www.readlog.cn",1,0,5)
      Call ThunderAgent.CommitTasks2(1)

      Call ThunderAgent.AddTask("http://file.fzone.cn/upload2/hompyFile/2007/28/921524670987.wma","放羊的星星.wma","c:\a\b\c\","",http://www.jb51.net,1,0,5)
      Call ThunderAgent.CommitTasks2(1)
      Set ThunderAgent = Nothing

      然后就是啟動(dòng)迅雷了,進(jìn)入工具--配置--高級(jí),把 通過IE右鍵菜單 “使用迅雷下載”添加任務(wù) 這個(gè)選項(xiàng)前面的勾去掉。

      保持迅雷開啟狀態(tài),這時(shí)候執(zhí)行上面的腳本,就不會(huì)出現(xiàn)那個(gè)確認(rèn)添加任務(wù)的對(duì)話框了。


      附:其中用到了AddTask這個(gè)方法,這個(gè)方法的參數(shù)如下:AddTask("下載地址", "另存文件名", "保存目錄","任務(wù)注釋","引用地址","開始模式", "只從原始地址下載","從原始地址下載線程數(shù)") 。

      參數(shù)名含義

      pURL目標(biāo)URL,必須參數(shù)
      pFileName另存名稱,默認(rèn)為空,表示由迅雷處理,可選參數(shù)
      pPath存儲(chǔ)目錄,默認(rèn)為空,表示由迅雷處理,可選參數(shù)
      pComments下載注釋,默認(rèn)為空,可選參數(shù)
      pReferURL引用頁URL,默認(rèn)為空,可選參數(shù)
      nStartMode開始模式,0手工開始,1立即開始,默認(rèn)為-1,表示由迅雷處理,可選參數(shù)
      nOnlyFromOrigin是否只從原始URL下載,1只從原始URL下載,0多資源下載,默認(rèn)為0,可選參數(shù)
      nOriginThreadCount原始地址下載線程數(shù),范圍1-10,默認(rèn)為-1,表示由迅雷處理,可選參數(shù)

       

      附:其中用到了AddTask這個(gè)方法,這個(gè)方法的參數(shù)如下:AddTask("下載地址", "另存文件名", "保存目錄","任務(wù)注釋","引用地址","開始模式", "只從原始地址下載","從原始地址下載線程數(shù)") 。
      參數(shù)名含義
      pURL目標(biāo)URL,必須參數(shù)
      pFileName另存名稱,默認(rèn)為空,表示由迅雷處理,可選參數(shù)
      pPath存儲(chǔ)目錄,默認(rèn)為空,表示由迅雷處理,可選參數(shù)
      pComments下載注釋,默認(rèn)為空,可選參數(shù)
      pReferURL引用頁URL,默認(rèn)為空,可選參數(shù)
      nStartMode開始模式,0手工開始,1立即開始,默認(rèn)為-1,表示由迅雷處理,可選參數(shù)
      nOnlyFromOrigin是否只從原始URL下載,1只從原始URL下載,0多資源下載,默認(rèn)為0,可選參數(shù)
      nOriginThreadCount原始地址下載線程數(shù),范圍1-10,默認(rèn)為-1,表示由迅雷處理,可選參數(shù)

      Public Function 迅雷下載(網(wǎng)址 As String, Optional 保存路徑 As String, Optional 另存為文件名 As String, Optional 下載注釋 As String, Optional 引用頁 As String, Optional 開始模式 As Long = 1, Optional 否只從原始網(wǎng)址下載 As Boolean = False, Optional 原始地址下載線程數(shù) As Long = 5) As Boolean
      On Error GoTo Err
      Dim ThunderAgent
      'nStartMode開始模式,0手工開始,1立即開始,默認(rèn)為-1,表示由迅雷處理,可選參數(shù)
      'nOnlyFromOrigin是否只從原始URL下載,1只從原始URL下載,0多資源下載,默認(rèn)為0,可選參數(shù)
      'nOriginThreadCount原始地址下載線程數(shù),范圍1-10,默認(rèn)為-1,表示由迅雷處理,可選參數(shù)
      Set ThunderAgent = CreateObject("ThunderAgent.Agent.1")
      If ThunderAgent Is Nothing Then GoTo Err
      Call ThunderAgent.AddTask(網(wǎng)址, 另存為文件名, 保存路徑, 下載注釋, 引用頁, 開始模式, 否只從原始網(wǎng)址下載, 原始地址下載線程數(shù))
      Call ThunderAgent.CommitTasks2(1)
      Set ThunderAgent = Nothing
      迅雷下載 = True
      Exit Function
      Err:
      迅雷下載 = False
      End Function


      Call 迅雷下載("http://www.baidu.com/index.html", "c:\", "index.html", "http://www.baidu.com")

      首先確保電腦已經(jīng)安裝訊雷,打開VS.NET 點(diǎn)擊菜單:項(xiàng)目->添加引用->COM->添加對(duì)ThunderAgent 1.0

      Type Library的引用
        1.創(chuàng)建訊雷調(diào)用對(duì)象

      Private ThunderEng As New THUNDERAGENTLib.Agent'創(chuàng)建訊雷調(diào)用對(duì)象

      ThunderEng.AddTask("下載地址", "另存文件名", "保存目錄","任務(wù)注釋","引用地址","開始模式", "

      只從原始地址下載","從原始地址下載線程數(shù)") '添加下載任務(wù)

      ThunderEng.CommitTasks()'提交下載任務(wù)


        2.使用訊雷調(diào)用對(duì)象查詢下載任務(wù)信息

      sFileSize = ThunderEng.GetTaskInfo(txtURL.Text, "FileSize")'獲取下載文件大小
      sDownedSize = ThunderEng.GetTaskInfo(txtURL.Text, "CompletedSize")'獲取已完成大小
      sFileName = ThunderEng.GetTaskInfo(txtURL.Text, "FileName")'獲取文件名

        二、迅雷平臺(tái)接口函數(shù)定義

        獲得信息

        1. BSTR GetInfo(BSTR pInfoName)

        功能:獲得迅雷或平臺(tái)相關(guān)信息

        參數(shù):

      參數(shù)名 含義
      pInfoName 信息名稱,有如下4種
      !癟hunderExists”:迅雷是否存在
      。“ThunderRunning”:迅雷是否運(yùn)行
      !癟hunderVersion”:迅雷版本號(hào)
      !癙latformVersion”:平臺(tái)版本號(hào)

        返回值:返回值是字符串與參數(shù)pInfoName有對(duì)應(yīng)關(guān)系

      參數(shù) 返回值
      “ThunderExists” “true”存在,“false”不存在
      “ThunderRunning” “true” 運(yùn)行中, “false”未運(yùn)行
      “ThunderVersion” 迅雷版本號(hào) “x.x.x.x”
      “PlatformVersion” 平臺(tái)版本號(hào) “x.x.x.x”

        2. HRESULT GetInfoStruct(INT pInfo)

        功能:獲取迅雷或平臺(tái)相關(guān)全部信息

        參數(shù):

      參數(shù)名 含義
      pInfo 其實(shí)是THUNDER_INFO類型的結(jié)構(gòu)指針,調(diào)用前把它轉(zhuǎn)換為INT類型;調(diào)用后結(jié)構(gòu)中將填充平臺(tái)信息

      ,定義如下:
      typedef struct _THUNDER_INFO
      {
      BOOL bThunderExists;
      BOOL bThunderRunning;
      CHAR szThunderVersion[32];
      CHAR szPlatformVersion[32];
      } THUNDER_INFO;

      函數(shù)調(diào)用后,結(jié)構(gòu)中將填充相應(yīng)的信息。

        返回值:

      0 獲取成功
      非0 獲取失敗

      任務(wù)操作

        3. 加入任務(wù)

      HRESULT AddTask
      (BSTR pURL,
      BSTR pFileName = "",
      BSTR pPath = "",
      BSTR pComments = "",
      BSTR pReferURL = "",
      INT nStartMode = -1,
      INT nOnlyFromOrigin = 0,
      INT nOriginThreadCount = -1);

        功能:

        往平臺(tái)加入下載任務(wù)信息,此時(shí)尚未體現(xiàn)到迅雷中

        參數(shù):

      參數(shù)名 含義
      pURL 目標(biāo)URL,必須參數(shù)
      pFileName 另存名稱,默認(rèn)為空,表示由迅雷處理,可選參數(shù)
      pPath 存儲(chǔ)目錄,默認(rèn)為空,表示由迅雷處理,可選參數(shù)
      pComments 下載注釋,默認(rèn)為空,可選參數(shù)
      pReferURL 引用頁URL,默認(rèn)為空,可選參數(shù)
      nStartMode 開始模式,0手工開始,1立即開始,默認(rèn)為-1,表示由迅雷處理,可選參數(shù)
      nOnlyFromOrigin 是否只從原始URL下載,1只從原始URL下載,0多資源下載,默認(rèn)為0,可選參數(shù)
      nOriginThreadCount 原始地址下載線程數(shù),范圍1-10,默認(rèn)為-1,表示由迅雷處理,可選參數(shù)

        4. 開始任務(wù)

        HRESULT CommitTaskss()

        功能:

        把AddTask所加入的下載任務(wù)信息真正提交到迅雷中進(jìn)行下載,并從平臺(tái)中刪除

        注意:如果AddTask添加的任務(wù)沒有被提交沒有被取消(調(diào)用CancelTasks),則Agent對(duì)象析構(gòu)時(shí)會(huì)

      阻塞,所以調(diào)用者不應(yīng)該殘留一些沒有被提交或者取消的任務(wù),以避免腳本執(zhí)行者停止響應(yīng)。

        5. 取消任務(wù)

        HRESULT CancelTasks()

        功能:

        取消平臺(tái)中所有由AddTask所加入的下載任務(wù)信息

        6. 查詢?nèi)蝿?wù)信息

        BSTR GetTaskInfo(BSTR pURL,BSTR pInfoName);

        參數(shù):

      參數(shù)名 含義
      pURL 所要查詢的下載URL信息
      pInfoName 狀態(tài)名稱,有如下幾種

      。“Exists”:pURL是否在迅雷的任務(wù)列表
      。“Path”:存儲(chǔ)目錄
      。“FileName”:文件名稱
      。“FileSize”:文件大小
      。“CompletedSize”:已下載大小
      。“Percent”:下載進(jìn)度
      。“Status”:任務(wù)狀態(tài)

        返回值: 返回值是字符串與參數(shù)pInfoName有對(duì)應(yīng)關(guān)系

      參數(shù) 返回值
      “Exists” ”true”存在,”false”不存在
      “Path” 存儲(chǔ)目錄,最后帶反斜線\,例:C:\TDDownload\
      “FileName” 文件名稱
      “FileSize” 文件大小,以字節(jié)為單位,0表示大小未知
      “CompletedSize” 已下載大小,以字節(jié)為單位
      “Percent” 下載進(jìn)度,帶1位小數(shù),例:70.0
      “Status” 任務(wù)狀態(tài),有以下6種狀態(tài)

      !皉unning”: 運(yùn)行狀態(tài)
      。“stopped”: 停止?fàn)顟B(tài)
      。“failed”: 失敗狀態(tài)
      。“success”: 成功狀態(tài)
      。“creatingfile”:正在創(chuàng)建數(shù)據(jù)文件
      。“connecting”: 正在連接

        7. GetTaskInfoStruct(INT pTaskInfo)

        功能:查詢一個(gè)任務(wù)的所有信息

      參數(shù)名 含義
      pTaskInfo 其實(shí)是THUNDER_TASKINFO類型的結(jié)構(gòu)指針,調(diào)用前把它轉(zhuǎn)換為INT類型;調(diào)用后結(jié)構(gòu)中將填充

      平臺(tái)信息,定義如下:

      typedef struct _THUNDER_TASKINFO
      {
      CHAR szURL[1024]; // 任務(wù)URL,預(yù)先填充
      BOOL bTaskExists; // 任務(wù)是否存在,TRUE為存在
      CHAR szPath[256]; // 下載的本地保存路徑
      CHAR szFileName[256]; // 本地文件名
      ULONGLONG nFileSize; // 文件大小
      ULONGLONG nCompletedSize; // 已完成的大小
      CHAR szPercent[16]; // 完成的百分?jǐn)?shù),用 “56.8”的格式
      CHAR szStatus[16]; // 當(dāng)前狀態(tài),定義同GetTaskInfo函數(shù)
      } THUNDER_TASKINFO;

      調(diào)用者先填充結(jié)構(gòu)中的szURL成員,來指定需要查詢的任務(wù)的URL,然后等函數(shù)返回后就可以從其他成員中

      取得該任務(wù)的信息。
      本例所有代碼

      Imports System
      Imports System.Text
      Public Class frmThunderClass frmThunder
      Private _iStartMode As Integer '訊雷任務(wù)下載開始模式
      Private ThunderEng As New THUNDERAGENTLib.Agent '創(chuàng)建訊雷調(diào)用對(duì)象
      Private Sub frmThunder_Load()Sub frmThunder_Load(ByVal sender As System.Object, ByVal e As

      System.EventArgs) Handles MyBase.Load
      End Sub
      Private Sub btnCancel_Click()Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As

      System.EventArgs) Handles btnCancel.Click
      Close()
      End Sub
      '開始下載任務(wù)
      Private Sub btnStartDown_Click()Sub btnStartDown_Click(ByVal sender As System.Object, ByVal

      e As System.EventArgs) Handles btnStartDown.Click
      Dim iOnlyFromOrigin, iOriginThreadCount As Integer
      iOnlyFromOrigin = IIf(chkOnlyFromOrigin.Checked = True, 1, 0)
      iOriginThreadCount = CInt(txtOriginThreadCounts.Text)
      If chkDefault.Checked Then
      iOriginThreadCount = -1
      End If
      ThunderEng.AddTask(txtURL.Text, txtSaveAsFileName.Text, txtSaveDir.Text, txtComment.Text, _
      txtReferencePage.Text, _iStartMode, iOnlyFromOrigin, iOriginThreadCount)
      ThunderEng.CommitTasks()
      Timer1.Enabled = True
      End Sub


      Private Sub radMaual_Click()Sub radMaual_Click(ByVal sender As System.Object, ByVal e As

      System.EventArgs) Handles radMaual.Click, radImmediate.Click, radDefault.Click
      Dim rad As RadioButton = CType(sender, RadioButton)
      _iStartMode = CInt(rad.Tag)
      End Sub
      '當(dāng)任務(wù)開始時(shí)定時(shí)查詢?nèi)蝿?wù)下載信息
      Private Sub Timer1_Tick()Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As

      System.EventArgs) Handles Timer1.Tick
      Dim sFileSize, sDownedSize, sStatus, sFileName, sPercent As String
      Try
      sStatus = ThunderEng.GetTaskInfo(txtURL.Text, "Status")
      sFileSize = ThunderEng.GetTaskInfo(txtURL.Text, "FileSize")
      sDownedSize = ThunderEng.GetTaskInfo(txtURL.Text, "CompletedSize")
      sFileName = ThunderEng.GetTaskInfo(txtURL.Text, "FileName")
      lblDownedSize.Text = String.Format(lblDownedSize.Tag, sDownedSize)
      lblFileSize.Text = String.Format(lblFileSize.Tag, sFileSize)
      lblTaskStatus.Text = String.Format(lblTaskStatus.Tag, sStatus)
      lblFilename.Text = String.Format(lblFilename.Tag, sFileName)
      sPercent = ThunderEng.GetTaskInfo(txtURL.Text, "Percent") '獲取下載百分比
      lblProgress.Text = String.Format(lblProgress.Tag, sPercent.Remove(3, Len(sPercent) - 3))
      Catch ex As Exception
      End Try
      End Sub
      Private Sub chkOnlyFromOrigin_CheckedChanged_1()Sub chkOnlyFromOrigin_CheckedChanged_1(ByVal

      sender As System.Object, ByVal e As System.EventArgs) Handles

      chkOnlyFromOrigin.CheckedChanged
      Panel1.Enabled = chkOnlyFromOrigin.Checked
      End Sub
      Private Sub GroupBox1_Enter()Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As

      System.EventArgs) Handles GroupBox1.Enter
      End Sub
      End Class

      進(jìn)入工具--配置--高級(jí),把 通過IE右鍵菜單 “使用迅雷下載”添加任務(wù) 這個(gè)選項(xiàng)前面的勾去掉。
      保持迅雷開啟狀態(tài),這時(shí)候執(zhí)行上面的腳本,就不會(huì)出現(xiàn)那個(gè)確認(rèn)添加任務(wù)的對(duì)話框了。

       

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)