thesnow 发表于 2008-9-7 13:01:46

希望对做软件批量下载的有帮助

;网上现在很多一键安装软件的程序,迅雷的呀。超级兔子的呀。一大堆。

;本来这个文章我很久以前就写好了,但是我搞丢了。。。
;现在重新来,没关系。

;原先想的是用迅雷直接下载,多快。。。后来发现调用迅雷每次必须手动确认。要分一个线程出来模拟鼠标点击。
;我喜欢遨游浏览器。只是老假死。靠。
;废话不多说。

;遨游浏览器使用的迅雷的下载技术。(内幕?我不知道哦。)

;来看看遨游的下载是怎样的:
;进程名称:MxDownloadServer.exe
;WEB页面路径:...\Maxthon2\template\Download\index.htm
;OBJ名称:MxDownloadServer.ThunderMx或者MxDownloadServer.ThunderMx.1
;OBJ接口代码(C++样式):
;原先也写过AU3版本的迅雷简单添加脚本,参考汉化版本中的userinclude目录。
;不会改为AU3的,对照着改下。


[
odl,
uuid(41906A82-C6BE-4329-96D5-543B29A18BA9),
helpstring("IThunderMx Interface"),
dual,
oleautomation
]
interface IThunderMx : IDispatch {
   
    HRESULT CommitTask(
                   int nCmd,
                   BSTR pUrl,
                   BSTR pPath,
                   int* pnResult);
   
   
    HRESULT GetTaskCount(
                   BSTR pCategoryId,
                   int* pnResult);
   
   
    HRESULT GetTaskList(
                   BSTR pCategoryId,
                   int nBeginIndex,
                   int nCount,
                   int nSortType,
                   BSTR* ppResult);
   
   
    HRESULT SetCallbackEntry(
                   int nDispId,
                   VARIANT vFunc,
                   long* pbResult);

   
    HRESULT GetRunningTaskCount(
                   BSTR pCategoryId,
                   int* pnResult);

   
    HRESULT CallAddTask(
                   BSTR pUrl,
                   BSTR pComments,
                   BSTR pReferURL,
                   int nIsAsync,
                   BSTR pCID,
                   BSTR pStatURL,
                   int* pnResult);
   
    HRESULT test(
                   int x,
                   int* y);
   
    HRESULT CancelCallbackEntry( int nDispId);
   
    HRESULT GetVariable(
                   BSTR pName,
                   BSTR* ppResult);
   
    HRESULT SetVariable(
                   BSTR pName,
                   BSTR pValue);
   
    HRESULT GetConfig(
                   BSTR pSectionName,
                   BSTR pKeyName,
                   BSTR pDefaultValue,
                   BSTR* ppResult);
   
    HRESULT SetConfig(
                   BSTR pSectionName,
                   BSTR pKeyName,
                   BSTR pValue,
                   int* pnResult);
   
    HRESULT StartTask(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT StopTask(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT DeleteTask(
                   BSTR pTaskId,
                   int nDeleteFile,
                   int* pnResult);
   
    HRESULT ParseUrl(
                   BSTR pUrl,
                   BSTR* ppResult);
   
    HRESULT SelectFolder(
                   BSTR pTitle,
                   BSTR* ppResult);
   
    HRESULT SelectFile(
                   BSTR pTitle,
                   BSTR pExtList,
                   int nIsOpen,
                   BSTR* ppResult);
   
    HRESULT OpenTaskFolder(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT OpenTaskFile(
                   BSTR pTaskId,
                   int nIndex,
                   int* pnResult);
   
    HRESULT OpenUrl(
                   BSTR pUrl,
                   int nIsHide,
                   int* pnResult);
   
    HRESULT ApplySettings( int* pnResult);
   
    HRESULT GetTaskProperties(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT SetTaskProperties(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT QueryDeleteTask( int* pnResult);
   
    HRESULT GetIntelligentName(
                   BSTR pFileName,
                   BSTR pComments,
                   BSTR* ppResult);
   
    HRESULT DownloadAgain(
                   BSTR pTaskId,
                   int nFromOrigin,
                   int* pnResult);
   
    HRESULT GetTaskListInfo(
                   BSTR pTaskId,
                   BSTR* ppResult);
   
    HRESULT GetGeneralErrorString(
                   int nErrorCode,
                   BSTR* ppResult);
   
    HRESULT GetErrorCodeAndBase64Url(
                   BSTR pTaskId,
                   BSTR* ppResult);
   
    HRESULT GetDownloadErrorString(
                   int nErrorCode,
                   BSTR* ppResult);
   
    HRESULT GetResourceInfo(
                   BSTR pTaskId,
                   int nNeedUpdate,
                   BSTR* ppResult);
   
    HRESULT Debug(
                   BSTR pString,
                   int* pnResult);
   
    HRESULT GetVersion( BSTR* ppResult);
   
    HRESULT GetServerPath( BSTR* ppResult);
   
    HRESULT GetSubCategory( BSTR* ppResult);
   
    HRESULT AddCategory(
                   BSTR pName,
                   BSTR* ppResult);
   
    HRESULT DeleteCategory(
                   BSTR pCategoryId,
                   int* pnResult);
   
    HRESULT ModifyCategoryName(
                   BSTR pCategoryId,
                   BSTR pNewName,
                   int* pnResult);
   
    HRESULT GetTaskInfoSnap(
                   BSTR pTaskIdList,
                   BSTR* ppResult);
   
    HRESULT GetGlobalSpeed( VARIANT* pvResult);
   
    HRESULT SetBrowserWindowData(
                   BSTR pUrl,
                   BSTR pTitle,
                   int* pnResult);
   
    HRESULT GetBrowserWindowSize( BSTR* ppResult);
   
    HRESULT SetBrowserWindowSize(
                   int nLeft,
                   int nTop,
                   int nWidth,
                   int nHeight,
                   int* pnResult);
   
    HRESULT IsBrowserWindowVisible( int* pnResult);
   
    HRESULT ShowBrowserWindow( int* pnResult);
   
    HRESULT HideBrowserWindow(
                   int nFlag,
                   int* pnResult);
   
    HRESULT AdjustCategoryIndex(
                   BSTR pCategoryId,
                   int nDelta,
                   int* pnResult);
   
    HRESULT ShowRepeatDownload( int* pnResult);
   
    HRESULT GetAutoStart( int* pnResult);
   
    HRESULT SetAutoStart(
                   int nAutoStart,
                   int* pnResult);
   
    HRESULT DoPreDownload();
   
    HRESULT GetConnectInfoCount(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT RenameTaskFile(
                   BSTR pTaskId,
                   int nRenameMethod,
                   int* pnResult);
   
    HRESULT SearchTask(
                   int nMask,
                   BSTR pUrl,
                   BSTR pFileName,
                   BSTR pRes,
                   int* pnResult);
   
    HRESULT BeginBatchTask( int* pnResult);
   
    HRESULT AddTaskToBatch(
                   int nBatchId,
                   BSTR pUrl,
                   BSTR pComments,
                   BSTR pReferURL,
                   BSTR pCID,
                   BSTR pStatURL,
                   int* pnResult);
   
    HRESULT EndBatchTask(
                   int nBatchId,
                   int* pnResult);
   
    HRESULT Login(
                   int nLoginType,
                   int nNameType,
                   BSTR pUserName,
                   BSTR pPassword,
                   int* pnResult);
   
    HRESULT GetLoginStatus( int* pnResult);
   
    HRESULT GetLoginResponse( BSTR* ppResult);
   
    HRESULT Logout( int* pnResult);
   
    HRESULT GetLoginUserName( BSTR* ppResult);
   
    HRESULT CallAddTask2(
                   BSTR pUrl,
                   BSTR pComments,
                   BSTR pReferURL,
                   int nIsAsync,
                   BSTR pCID,
                   BSTR pStatURL,
                   BSTR pCookie,
                   int* pnResult);
   
    HRESULT MakeResourcePublishKey(
                   BSTR pString,
                   BSTR* ppResult);
   
    HRESULT UpdateResourceInfo(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT CanPublishResource(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT GetFileIcon(
                   BSTR pFilePath,
                   BSTR* ppResult);
   
    HRESULT ExportDownloadList(
                   BSTR pTaskIdList,
                   int* pnResult);
   
    HRESULT SetCurrentViewCategory(
                   BSTR pCategoryId,
                   int* pnResult);
   
    HRESULT GetJumpKey( BSTR* ppResult);
   
    HRESULT CheckOnline( int* pnResult);
   
    HRESULT GetPartnerId( BSTR* ppResult);
   
    HRESULT MoveTask(
                   BSTR pIdList,
                   int nCancel,
                   int* pnResult);
   
    HRESULT GetSystemConnectionLimit( int* pnResult);
   
    HRESULT SetSystemConnectionLimit(
                   int nLimitCount,
                   int* pnResult);
   
    HRESULT OpenWebThunder( int* pnResult);
   
    HRESULT UpdateWebThunder(
                   int nUpdateMode,
                   int nVersion,
                   int* pnResult);
   
    HRESULT GetTaskFileStatus(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT GetRegisterLastError( int* pnResult);
   
    HRESULT TestProxy(
                   int nProxyType,
                   BSTR pServerIP,
                   int nPortNumber,
                   BSTR pUserName,
                   BSTR pPassword,
                   int* pnResult);
   
    HRESULT IsIEProxyExists( int* pnResult);
   
    HRESULT GetShutdownOnFinished( int* pnResult);
   
    HRESULT SetShutdownOnFinished(
                   int nEnabled,
                   int* pnResult);
   
    HRESULT IsResourceCollected(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT GetBlogInfo( BSTR* ppResult);
   
    HRESULT GetTaskBlogInfo(
                   BSTR pTaskId,
                   BSTR* ppResult);
   
    HRESULT AddItemToLocalBlogInfo(
                   BSTR pTaskId,
                   int nBlogCategoryId,
                   int* pnResult);
   
    HRESULT UpdateBlogInfo( int* pnResult);
   
    HRESULT RepairBHO(
                   int nShowMessage,
                   int* pnResult);
   
    HRESULT GetTaskPlayUrl(
                   BSTR pTaskId,
                   BSTR* ppResult);
   
    HRESULT GetIEMajorVersion( int* pnResult);
   
    HRESULT GetOptimizeConnectionCount( int* pnResult);
   
    HRESULT AddTaskToBatch2(
                   int nBatchId,
                   BSTR pUrl,
                   BSTR pComments,
                   BSTR pReferURL,
                   BSTR pCID,
                   BSTR pStatURL,
                   BSTR pCookie,
                   int* pnResult);
   
    HRESULT GetDiskInfo(
                   BSTR pDiskRoot,
                   BSTR* ppResult);
   
    HRESULT OpenDirectory(
                   BSTR pDirectory,
                   int* pnResult);
   
    HRESULT SetDownloadMode(
                   BSTR pTaskId,
                   int nMode);
   
    HRESULT StartPlay( BSTR pTaskId);
   
    HRESULT ImportTask( int* pnResult);
   
    HRESULT ImportList( int* pnResult);
   
    HRESULT SetTaskPriority(
                   BSTR pTaskId,
                   int nPriority,
                   int* pnResult);
   
    HRESULT CreatePathTree(
                   BSTR pPathTree,
                   int* pnResult);
   
    HRESULT ImportBtTorrentFile( int* pnResult);
   
    HRESULT RevertTask(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT OperateAllTask(
                   BSTR pCategoryId,
                   int nOperation,
                   int nParameter,
                   int* pnResult);
   
    HRESULT GetConnectInfo(
                   BSTR pTaskId,
                   int nCntIndex,
                   int nBegIndex,
                   BSTR* ppResult);
   
    HRESULT SetProperty(
                   BSTR pKey,
                   BSTR pValue);
   
    HRESULT GetProperty(
                   BSTR pKey,
                   BSTR* ppResult);
   
    HRESULT UpdateUpload(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT SaveSeedFile(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT GetBlogAddInfo(
                   BSTR pTaskId,
                   BSTR* ppResult);
   
    HRESULT GetPublishInfo(
                   BSTR pTaskId,
                   BSTR* ppResult);
   
    HRESULT ReadWriteResourceInfo(
                   BSTR pCID,
                   BSTR pInfo,
                   BSTR* ppResult);
   
    HRESULT GetFileIconPath(
                   BSTR pFilePath,
                   BSTR* ppResult);
   
    HRESULT GetTaskInfo(
                   BSTR pTaskId,
                   BSTR* ppResult);
   
    HRESULT SetTaskConfig(
                   BSTR pTaskId,
                   BSTR pKeyName,
                  BSTR pKeyValue,
                   int* pnResult);
   
    HRESULT GetTaskConfig(
                   BSTR pTaskId,
                   BSTR pKeyName,
                   BSTR* ppResult);
   
    HRESULT StartAll( int* pnResult);
   
    HRESULT StopAll( int* pnResult);
   
    HRESULT RestoreTask(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT SearchTaskList(
                   BSTR pKeywords,
                   int nBeginIndex,
                   int nCount,
                   int nSortType,
                   BSTR* ppResult);
   
    HRESULT DisableP2PService(
                   int bDisable,
                   int* pnResult);
   
    HRESULT CloseApp( int* pnResult);
   
    HRESULT setLang(
                   BSTR pStrPath,
                   int* pnResult);
   
    HRESULT SetConfigFile(
                   BSTR bstrFilePath,
                   int* pnResult);
   
    HRESULT GetTaskList2(
                   BSTR pCategoryId,
                   int nBeginIndex,
                   int nCount,
                   int nSortType,
                   int nIsDesc,
                   BSTR* ppResult);
   
    HRESULT GetTotalTaskCount( int* pnResult);
   
    HRESULT SetParent(
                   int hWndParent,
                   int* pnResult);
   
    HRESULT ShowSetting( int* pnResult);
   
    HRESULT ShowTaskProp(
                   BSTR pTaskId,
                   int* pnResult);
   
    HRESULT GetTaskCount2(
                   BSTR bstrCateIds,
                   BSTR* ppResult);
   
    HRESULT InitDownloader( int* pnResult);
   
    HRESULT IsDownloaderInited( int* pnResult);
   
    HRESULT ShowToolTip(
                   int nPtX,
                   int nPtY,
                   int bBelow,
                   int* pnResult);
   
    HRESULT HideToolTips( int* pnResult);
   
    HRESULT SetParent2(
                   int hWndParent,
                   int nMessageID,
                   int* pnResult);
   
    HRESULT MTask(
                   BSTR pUrl,
                   BSTR pComments,
                   BSTR pReferURL,
                   int nIsAsync,
                   BSTR pCID,
                   BSTR pStatURL,
                   BSTR pCookie,
                   BSTR pPath,
                   BSTR pReserved1,
                   BSTR pReserved2,
                   BSTR pReserved3,
                   int* pnResult);
   
    HRESULT CallAddTask3(
                   BSTR pUrl,
                   BSTR pComments,
                   BSTR pReferURL,
                   int nIsAsync,
                   BSTR pCID,
                   BSTR pStatURL,
                   BSTR pCookie,
                   BSTR pDataLength,
                   BSTR pReserved,
                   BSTR pReserved2,
                   BSTR pReserved3,
                   int* pnResult);
   
    HRESULT MTask2(
                   BSTR pUrl,
                   BSTR pComments,
                   BSTR pReferURL,
                   int nIsAsync,
                   BSTR pCID,
                   BSTR pStatURL,
                   BSTR pCookie,
                   BSTR pPath,
                   BSTR pReserved1,
                   BSTR pReserved2,
                   BSTR pReserved3,
                   BSTR* pnResult);
   
    HRESULT RegisterTaskCallBack(
                  BSTR bTaskID,
                  int CallBackHWND);
   
    HRESULT GetTaskSingleInfo(
                   BSTR bstrTaskID,
                   int nInfoType,
                   BSTR* pBstrResult1,
                   BSTR* pBstrResult2,
                   int* pnResult);
   
    HRESULT BatchDeleteTasks(
                   int anTaskType,
                   int nDeleteFile,
                   int* pnResult);
};

asdf 发表于 2008-9-7 15:16:12

= =boring……

redapple2008 发表于 2008-9-8 12:57:14

神一样的人物已经出现

jhwl 发表于 2008-9-8 15:45:56

没怎么看明白

gooker 发表于 2008-9-8 16:53:46

不用马桶 假死 速度慢 ie核心的不爽

asdf 发表于 2008-9-8 20:16:47

opera王道:face (33):

sanhen 发表于 2008-9-8 20:35:37

没用过。。以前用过“世界之窗”,不过自从IE7兼容性改善之后,一直是IE7了。

懒得装其他浏览器了。。。

gooker 发表于 2008-9-8 23:57:18

竟然没看到ff出来,罕见

hehui 发表于 2008-9-9 11:02:54

遨游,世界之窗才是王道!
:face (33):

fjchenq 发表于 2009-4-23 12:47:47

看的头晕。

mlrw923 发表于 2010-4-6 02:10:47

看不懂!!!!~~~~

newuser 发表于 2010-4-20 16:37:09

回复 1# thesnow

AU3可以实现吗?

dragon0000 发表于 2011-6-26 16:43:06

谢谢楼主分享!!!

fangbaiyu 发表于 2011-10-24 14:37:55

路过
MARK一下

tutou9997 发表于 2013-4-14 12:03:48

希望对做软件批量下载的有帮助
收藏标记
页: [1] 2
查看完整版本: 希望对做软件批量下载的有帮助