SmartDownloadManager






2.73/5 (5投票s)
2007年5月15日
3分钟阅读

40543

992
使用 VBScript 创建下载管理器。
引言
本文提供了一些关于如何创建您自己的下载管理器的基本信息。
Procedure
应用程序要运行,必须遵循四个不同的步骤。它们是
- 将您自己的项目添加到 Internet Explorer 的右键菜单中。
- 使用 VBScript 文件、Javascript 文件或 HTML 文件从页面收集所需信息,当用户点击添加的项目时。
- 启动执行实际下载的主应用程序。
- 对主应用程序进行编程,以下载目标文件。
步骤 1:将我们自己的项目添加到 Internet Explorer 的右键菜单中
Internet Explorer 提供了一个内置的注册表项,用于启用向右键菜单添加新菜单项的功能。
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
向上述键添加一个新的子键将在 Internet Explorer 的右键菜单中显示一个新项目。 让我们添加一个名为“立即下载”的新键。 我们必须将脚本文件的路径添加到该键的默认值中。 当项目被点击时,Internet Explorer 会启动该脚本文件。
步骤 2:从页面收集所需信息
该脚本文件应收集信息,例如 URL、用户右键单击的元素等。当用户选择添加的项目时,将启动此文件。
var path = document.location.pathname;
var Exepath = path.replace("SmartDownloadManager.htm",
"SmartDownloadManager.exe");
var Doc = external.menuArguments.document;
var Event = external.menuArguments.event;
var mainURL = external.menuArguments.document.URL;
var Element = Doc.elementFromPoint(Event.clientX, Event.clientY);
var Anchor = Element;
var cookie = Doc.cookie;
while( Anchor.tagName!="A" && Anchor.tagName!="HTML" )
{
Anchor = Anchor.parentElement;
}
if(Anchor.tagName=="A")
{
lnkURL = Anchor.href;
var oShell = new ActiveXObject("Shell.Application");
var commandtoRun = Exepath;
oShell.ShellExecute(commandtoRun,
"\""+mainURL+"\"" + " \"" + cookie+"\" \"" + lnkURL + "\"","",
"open", "1");
}
上述代码检索用户在其上右键单击的元素,并将引用存储在变量 Element
中。 使用一个简单的 while 循环来检查 anchor
标签是否具有任何嵌套标签,例如图像或任何其他格式化标签。 最后,一个简单的 if
条件检查用户是否选择了 anchor
标签或空白页面。 它启动应用程序并将所需信息作为命令行参数传递给应用程序。
步骤 3:启动主应用程序
var oShell = new ActiveXObject("Shell.Application");
oShell.ShellExecute(commandtoRun, "\""+mainURL+"\""
+ " \"" + cookie+"\" \"" + lnkURL + "\"","", "open", "1");
上述代码启动执行实际下载的主应用程序,并传递诸如:主页 URL、链接的 URL 等信息。
步骤 4:对主应用程序进行编程以下载目标文件
static void Main(string[] args)
在步骤 3 中提供的参数存储在 Main
函数的数组 args
中。 使用这些参数,我们可以轻松地创建一个下载目标文件的程序。 在 CodeProject.com 网站本身上可以找到很多关于这个主题的文章。
结论
将可执行文件夹复制到任何位置。 可执行文件夹中有一个名为 SetUp.exe 的文件。 必须首次执行此文件,它将创建适当的注册表值。 一旦文件被执行,文件位置不应更改,因为它将无法正常工作。 如果文件夹的位置发生更改,则必须手动删除 立即下载
的注册表。 删除注册表后,您可以安全地再次执行 SetUp.exe 以创建新的注册表值。
历史
- 2007 年 5 月 15 日 - 发布原始版本