IWizBatchDownloader

9/12/2019

This content is not available in your language. The following is the Simplified Chinese version.

IWizBatchDownloader是WizKMControls.dll包含的一个COM对象。IWizBatchDownloader主要用来进行批量下载网页或者导入文档。

IWizBatchDownloader可以批量下载网页,或者导入文件,并且允许在导入后合并文档。在Wiz自带的博客下载插件以及导入文件插件中,都使用了这个对象,您可以直接查看插件的源代码,获得一些使用的例子。

ProgID:WizKMControls.WizBatchDownloader 文件:WizKMControls.dll

[
    object,
    uuid(49C2236A-6DA1-4AA9-BAD7-BF0DA94535A4),
    dual,
    nonextensible,
    helpstring("IWizBatchDownloader Interface"),
    pointer_default(unique)
]
interface IWizBatchDownloader : IDispatch{

    //添加一个下载任务。
    //bstrDatabasePath:数据库路径
    //bstrLocation:文档保存位置
    //bstrURL:需要下载的网页URL或者需要导入的文件名。可以是doc/text/ppt/xls/jpg/bmp/png等等文件
    //bstrLinkText:链接文字,可以为空字符串
    //nUpdateDocumentFlags:更新文档的选项,请参看IWizDocument.UpdateDocument方法
    //vbLinkTextAsTitle:是否将链接文字作为文档标题
    //vbExecuteScript:是否执行html里面的代码
    [id(1), helpstring("method AddJob")] HRESULT AddJob([in] BSTR bstrDatabasePath, [in] BSTR bstrLocation, [in] BSTR bstrURL, [in] BSTR bstrLinkText, [in] LONG nUpdateDocumentFlags, [in] VARIANT_BOOL vbLinkTextAsTitle, [in] VARIANT_BOOL vbExecuteScript);

    //从text文件添加链接。text文件里面,每行一个链接。
    //bstrTextFileName:text文件名。
    //其它参数同AddJob方法
    [id(2), helpstring("method AddJobsFromTextFile")] HRESULT AddJobsFromTextFile([in] BSTR bstrDatabasePath, [in] BSTR bstrLocation, [in] BSTR bstrTextFileName, [in] LONG nUpdateDocumentFlags, [in] VARIANT_BOOL vbExecuteScript);

    //显示批量下载窗口。vbStartDownload:是否自动开始下载
    [id(3), helpstring("method ShowWindow")] HRESULT ShowWindow(VARIANT_BOOL vbStartDownload);

    //获得/设置是否在下载完成后,将下载的文档合并成一个新的文档
    [propget, id(4), helpstring("property CombineDocuments")] HRESULT CombineDocuments([out, retval] VARIANT_BOOL* pVal);
    [propput, id(4), helpstring("property CombineDocuments")] HRESULT CombineDocuments([in] VARIANT_BOOL newVal);

    //添加任务,保留。
    [id(5), helpstring("method AddJob2")] HRESULT AddJob2([in] BSTR bstrDatabasePath, [in] BSTR bstrLocation, [in] BSTR bstrURL, [in] BSTR bstrLinkText, [in] LONG nUpdateDocumentFlags, [in] LONG nJobFlags);

    //添加任务,允许指定覆盖一个文档。

    [id(6), helpstring("method AddJob3")] HRESULT AddJob3([in] BSTR bstrDatabasePath, [in] BSTR bstrOverwriteDocumentGUID, [in] BSTR bstrURL, [in] BSTR bstrTitle, [in] LONG nUpdateDocumentFlags, [in] LONG nJobFlags);

    //获得,更改窗口标题

    [propget, id(7), helpstring("property Title")] HRESULT Title([out, retval] BSTR* pVal);
    [propput, id(7), helpstring("property Title")] HRESULT Title([in] BSTR newVal);

    //保存当前工作状态为文件
    [id(8), helpstring("method SaveJobsToFile")] HRESULT SaveJobsToFile([in] BSTR bstrFileName);


    //从文件里面获得恢复工作列表
    [id(9), helpstring("method LoadJobsFromFile")] HRESULT LoadJobsFromFile([in] BSTR bstrFileName);

    //添加一个任务
    [id(10), helpstring("method AddJob")] HRESULT AddJob4([in] BSTR bstrDatabasePath, [in] BSTR bstrLocation, [in] BSTR bstrURL, [in] BSTR bstrLinkText, [in] LONG nUpdateDocumentFlags, [in] VARIANT_BOOL vbLinkTextAsTitle, [in] VARIANT_BOOL vbExecuteScript, [in] BSTR bstrKbGUID, [in] BSTR bstrTagGUIDs);


};

具体使用例子,请参考Wiz自带的博客下载插件和导入文件插件。