当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > vbs+hta中实现在单个 onClick 参数中包括多个子例程的代码

VBScript
一个最简单的vbs类实例代码
实用vbs提醒小程序
使用vbs下载文件的代码加强版
vbs病毒制作之一复制自身的vbs脚本
用vbs实现的exe2swf工具脚本代码
vbs更改3389远程桌面端口的脚本
用vbs实现的强制杀进程的脚本
用VBS脚本实现更换Windows Xp序列号的代码
vbs实现右键菜单中添加CMD HERE
用VBS脚本删除指定以外的文件或文件夹
用VBS记录客户机操作的代码
用vbs删除某些类型文件和磁盘空间报告的脚本
两个批量挂马vbs脚本代码
关于vbs WebBrowser导航问题
LCL.VBS 病毒源代码
用vbs实现向任何电子邮件发送邮件
用VBS检测Guest状态的脚本
用vbs实现的输入助手附使用方法
vbs base64 解密脚本代码
用vbs实现修改dns的网关脚本

VBScript 中的 vbs+hta中实现在单个 onClick 参数中包括多个子例程的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 85 ::
收藏到网摘: n/a

问:
您好,脚本专家! 在您的 HTA 示例中,您为我们展示了如何单击一个按钮使一个子例程得以运行。 那么,如何向一个按钮的 onClick 参数添加两个或多个子例程呢?
-- FM
答:
您好,FM。您知道,在认知心理学中有一个有趣的分支,称为问题发现;其理论是您回答问题的能力通常首先取决于您问到的问题。 例如,您 – 以及其他几个人 – 想要知道如何在一个按钮的 onClick 参数中指定多个子例程。 我们见过人们尝试对代码做出各种修改,以下就是一个例子:
<input type="button" value="Run Button" onClick="Script_1; Script_2; Script_3">
正如您所见,这不能解决问题。
那么让我们将发现问题的技能应用到测试中,看看是否能够用其它方式来描述该问题。 (通常,脚本专家无需发现问题;问题会设法找到我们。) 下面是问题的关键所在: 我们是真的要向 onClick 参数添加多个子例程,还是仅想要在任何时候单击按钮时能够运行多个子例程?
如果是后者,我们有下面的答案:
复制代码 代码如下:

<html>
<head>
<title>Multiple Subroutines</title>
<HTA:APPLICATION
ID="objHTAHelpomatic"
APPLICATIONNAME="MultipleSubroutines"
SCROLL="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="maximize"
>
</head>
<SCRIPT Language="VBScript">
Sub RunScripts
Script_1
Script_2
Script_3
End Sub
Sub Script_1
Msgbox "This is subroutine 1."
End Sub
Sub Script_2
Msgbox "This is subroutine 2."
End Sub
Sub Script_3
Msgbox "This is subroutine 3."
End Sub
</SCRIPT>
<body>
<input type="button" value="Run Button" onClick="RunScripts">
</body>
</html>
注意: 前面的代码被设计为从一个 HTA(HTML 应用程序)运行。 如果想要测试该代码,只需复制该脚本,将其粘贴到记事本或者其它的文本编辑器,并且用 .HTA 文件扩展名保存。

如果粗略地看一下该代码,您可能会注意到按钮的 HTML 标记:
<input type="button" value="Run Button" onClick="RunScripts">
正如您所见到的那样,我们仅在 onClick 参数中指定了一个单一子例程 (RunScripts)。 哦,但是看一下子例程 RunScripts 的代码:
Sub RunScripts
Script_1
Script_2
Script_3
End Sub
答案就在这里。 在该子例程中我们所做的就是调用其它三个子例程: Script_1、Script_2 和 Script_3。这就是我们如何从一个按钮的单击事件中运行多个子例程的方法: 我们并不把所有那些子例程都放入 onClick 参数中,而是将其放入 onClick 所调用的单个子例程中。