ICABookBuilderAutomationApp[
uuid(52E542B1-5655-4b89-810B-44AF5A103CF6)
,
oleautomation, dual ] interface ICABookBuilderAutomationApp : IDispatch { [id(1), helpstring("method AddJob")] HRESULT AddJob([in] BSTR bstrBookGUID, [in] BSTR bstrFolderPath, [in] BSTR bstrURL, [in] BSTR bstrLinkText, [in] BSTR bstrProfileName,[in] long nDownloadLevel, [in] VARIANT_BOOL vbLinkTextAsArticleTitle, [in] VARIANT_BOOL bExecuteScript, [in] long nFlags); [id(2), helpstring("method StartDownload")] HRESULT StartDownload(); [id(3), helpstring("method StopDownload")] HRESULT StopDownload(); };
方法:AddJob添加一个任务进行下载
参数[in] BSTR bstrBookGUID:书籍GUID
[in] BSTR bstrFolderPath:保存路径
[in] BSTR bstrURL:URL
[in] BSTR bstrLinkText:链接文字
[in] BSTR bstrProfileName:配置文件名称,一般是Default
[in] long nDownloadLevel:下载深度。0-3。0表示不下载网页里面的链接。1表示下载一级链接,依次类推。
[in] VARIANT_BOOL vbLinkTextAsArticleTitle:是否将链接文字作为标题。
[in] VARIANT_BOOL bExecuteScript:是否执行网页里面的脚本
[in] long nFlags:其它选项。一般为0
返回无
方法StartDownload开始下载
参数无
返回无
方法StopDownload停止下载
参数无
返回无
例子将IE收藏夹内容导入到CyberArticle里面 //导入一个目录下面的所有链接,采用递归
//bookguid: 目标书籍GUID //folderpath: 导入后文章的路径 //objCABookBuilder: CyberArticle.CABookBuilderAutomationApp对象 //objShell: WSript.Shell对象 //objFileSystem: Scripting.FileSystemObject对象 //path: 需要导入的路径 // function ImportPath(bookguid, folderpath, objCABookBuilder, objShell, objFileSystem, path) { //获得路径对象 var objFolder = objFileSystem.GetFolder(path); //枚举文件 var objSubfilesEnum = new Enumerator(objFolder.Files); for (; !objSubfilesEnum.atEnd(); objSubfilesEnum.moveNext()) { //获得文件 var filename = objSubfilesEnum.item(); var objFile = objFileSystem.GetFile(filename); // var strFileTitle = objFile.Name; var pos = strFileTitle.indexOf(".url"); if (-1 != pos) { //如果是.url文件 strFileTitle = strFileTitle.substring(0, pos); //objShell.Popup("file name is: " + filename); // try { var objShortcut = objShell.CreateShortcut(filename); // //objShell.Popup(objShortcut.TargetPath); var url = objShortcut.TargetPath; // //添加一个url进行下载 objCABookBuilder.AddJob(bookguid, folderpath, url, strFileTitle, "Default", 0, true, true, 0); } catch (e) { } } } //枚举子文件夹 var objSubfoldersEnum = new Enumerator(objFolder.SubFolders); for (; !objSubfoldersEnum.atEnd(); objSubfoldersEnum.moveNext()) { var subfolder = objSubfoldersEnum.item(); // var objSubFolder = objFileSystem.GetFolder(subfolder); var subfoldername = objSubFolder.Name; //导入子文件夹 ImportPath(bookguid, folderpath + "\\" + subfoldername, objCABookBuilder, objShell, objFileSystem, subfolder); } } //CyberArticle.CAAutomationApp对象 var objCA = new ActiveXObject("CyberArticle.CAAutomationApp"); //获得选中的节点 var objSelectedNodes = objCA.SelectedNodes; if (objSelectedNodes != null && objSelectedNodes.Count > 0) { var objShell = new ActiveXObject("WScript.Shell"); // //获得第一个选中的节点 var objSelectedNode = objSelectedNodes.Item(0); if (objSelectedNode.Type != 0) objSelectedNode = objSelectedNode.ParentNode; // //获得书籍信息和相应的目录路径 var strBookGUID = objSelectedNode.Book.GUID; var folderpath = objSelectedNode.GetTitlePath(true, false); //objShell.Popup("title path: " + folderpath); //创建BookBuilder对象,用来下载链接 var objCABookBuilder = new ActiveXObject("CyberArticle.CABookBuilderAutomationApp"); //获得收藏夹路径 var strPath = objShell.SpecialFolders("Favorites"); strPath = objShell.ExpandEnvironmentStrings(strPath); //objShell.Popup(strPath); //获得文件夹对象 var objFileSystem = new ActiveXObject("Scripting.FileSystemObject"); //导入文件夹 ImportPath(strBookGUID, folderpath, objCABookBuilder, objShell, objFileSystem, strPath); //开始下载 objCABookBuilder.StartDownload(); } |
|||||
|