[轉載]
[求助]在C#中調用JetCar.Netscape的問題?
問題: 如何在C#中調用JetCar.Netscape批量下載,傳遞資料/數組到AddUrlList函數?
首先申明,我需要的是調用批量下載,不要複製到剪貼簿讓下載軟體監視發現,也不要產生網頁/VBscript等執行開啟網頁/指令碼調用快車下載!我想要直接調用JetCar.Netscape組件的!
希望有
快車提供的VB網頁調用代碼主要為:
set links = external.menuArguments.document.links
ReDim params(links.length*2)
params(0)=external.menuArguments.document.Url
for i = 0 to links.length-1
params(i*2+1)=links(i).href
params(i*2+2)=links(i).innerText
next
JetCarCatch.AddUrlList params
理解並多方面查詢相關資料:
其格式應該是:
一個動態數組params, params[0]=引用地址
params[1]=Http://1
params[2]=檔案名稱1
params[3]=Http://2
params[4]=檔案名稱2
.
.
.
.
.
匯入到C#中後,相關函數申明為
AddUrlListEx(ref object pList, string pSaveTo, int uFlags);
AddUrlList(ref object pList);
這裡 pList 就是那個動態數組,為object類型,用Array類型不行,用ArrayList類型也不行!
網上查資料,說params在VB中是VARIANT類型,在C#下object雖然是任何類型的子類,但是卻也不是萬能的,就比如這個,object就無法傳遞參數去給一個申明為VARIANT參數的函數,有人說什麼COM什麼OLE等等,不是很明白......,但是迅雷提供的COM調用確很方便,沒有這麼多問題
所以,特在此請教各位高手,有知道怎麼解決的,希望能幫幫我,告訴我!當然最好是C#的,其他語言的我已經查到過,理解應該也就那樣!
也許問的不夠專業,但是我真的想調用快車批量下載!希望知之者告知,或者管理員/快車開發技術人員和各位編程高手們