在为 VBscript 使用 HTA 用户表单时,我发现 HTA 不支持 WScript 及其对象/方法。
有没有其他方法可以创建用户表单,或者有什么方法可以让 HTA 支持 WScript?
另一种方法WScript.Echo
是简单地将内容添加到 DOM:
<script language="vbscript">
dim div: set div = document.getElementById("output")
div.innerText = "output"
</script>
<div id="output"/>
或者如果你想要一个对话框,你可以使用MsgBox()
<script language="vbscript">
MsgBox "output"
</script>
你可以Scripting.FileSystemObject
不用WScript
<script language="vbscript">
dim fso: set fso = CreateObject("Scripting.FileSystemObject")
dim path: path = fso.GetAbsolutePathName(".")
'... etc
</script>
将您的Wscript
代码放入.wsf
-file 并像这样调用脚本:
shell=new ActiveXObject('WScript.Shell');
shell.Exec('WScript //Job:job_id PATH_TO_YOUR_WSF_FILE');
通过您还可以使用HTA 中不可用的.wsf
方法WScript.Sleep()
,例如 等。WScript.SendKeys()
MSDN 上的更多信息:Windows 脚本主机