程式實現呼叫迅雷 以C 為例

2021-05-27 17:54:00 字數 3023 閱讀 2865

1.首先匯入dll

新增引用 -> com -> thunderagent 1.0 type library(前提是已安裝迅雷)

或者c:\program files\thunder network\thunder\comdlls\thunderagent_now.dll(路徑可能有所不同)

2.**:

thunderagentlib.agentclass agent = new thunderagentlib.agentclass();//建立物件

agent.addtask("", "index.html", "c:\\", "", "", 1, 0, 5);

agent.committasks2(1);//提交

3.修改迅雷配置

,將這項去掉就可以了

附:方法詳細說明

void addtask(string purl, string pfilename, string ppath, string pcomments, string preferurl, int nstartmode, int nonlyfromorigin, int noriginthreadcount);

引數名含義

purl

目標url,必須引數

pfilename

另存名稱,預設為空,表示由迅雷處理,可選引數

ppath

儲存目錄,預設為空,表示由迅雷處理,可選引數

pcomments

preferurl

引用頁url,預設為空,可選引數

nstartmode

開始模式,0手工開始,1立即開始,預設為-1,表示由迅雷處理,可選引數

nonlyfromorigin

noriginthreadcount

三、迅雷的開發文件

獲得資訊

1. bstr getinfo(bstr pinfoname)

引數名 含義

pinfoname

資訊名稱,有如下4種 

◆「thunderexists」:迅雷是否存在 

◆「thunderrunning」:迅雷是否執行 

◆「thunderversion」:迅雷版本號 

◆「platformversion」:平台版本號

返回值:返回值是字串與引數pinfoname有對應關係

引數 返回值

「thunderexists」

「true」

存在,「false」不存在

「thunderrunning」

「true」 

執行中, 「false」未執行

「thunderversion」

迅雷版本號 「x.x.x.x」

「platformversion」

平台版本號 「x.x.x.x」

2. hresult getinfostruct(int pinfo)

功能:獲取迅雷或平台相關全部資訊 

引數:

引數名 含義

pinfo

其實是thunder_info型別的結構指標,呼叫前把它轉換為int型別;呼叫後結構中將填充平台資訊,定義如下: 

typedef struct _thunder_info 

thunder_info; 

函式呼叫後,結構中將填充相應的資訊。

返回值:

0 獲取成功 非0

獲取失敗

任務操作

3. 加入任務

引數名 含義

purl

目標url,必須引數

pfilename

另存名稱,預設為空,表示由迅雷處理,可選引數

ppath

儲存目錄,預設為空,表示由迅雷處理,可選引數

pcomments

preferurl

引用頁url,預設為空,可選引數

nstartmode

開始模式,0手工開始,1立即開始,預設為-1,表示由迅雷處理,可選引數

nonlyfromorigin

noriginthreadcount

4. 

開始任務 

hresult committaskss() 

bstr gettaskinfo(bstr purl,bstr pinfoname); 

引數:

引數名 含義

purl

pinfoname

返回值: 返回值是字串與引數pinfoname有對應關係

引數 返回值

「exists」

」true」

存在,」false」不存在

「path」

儲存目錄,最後帶反斜線",例:c:"tddownload"

「filename」

檔名稱

「filesize」

檔案大小,以位元組為單位,0表示大小未知

「completedsize」

「percent」

「status」

任務狀態,有以下6種狀態 

。「running」: 執行狀態 

。「stopped」: 停止狀態 

。「failed」: 失敗狀態 

。「success」: 成功狀態 

。「creatingfile」:正在建立資料檔案 

。「connecting」: 正在連線

7.gettaskinfostruct(int ptaskinfo)

功能:查詢乙個任務的所有資訊

引數名 含義

ptaskinfo

分類: 

團隊開發知識積累之 .net (c#)

前端實現MD5加密(以小程式為例)

md5.js var rotateleft function lvalue,ishiftbits var addunsigned function lx,ly else var f function x,y,z var g function x,y,z var h function x,y,z va...

簡單文法(以c語言為例)

external declaration program external declaration 外部宣告 function definition declaration 函式 type specifier declarator 說明符 compound statement 混合宣告 宣告 sym...

訊息佇列實現原理(以kafka為例)

訊息佇列中介軟體是分布式系統中重要的元件,主要解決應用耦合,非同步訊息,流量削鋒等問題。實現高效能 高可用 可伸縮和最終一致性架構。使用較多的訊息佇列有kafka activemq rabbitmq zeromq metamq rocketmq。訊息佇列在實際應用中常用的使用場景 非同步處理,應用解...