在vbscript中使用HTA
在对VBscript使用HTA userform时,我发现HTA不支持WSScript及其对象/方法在vbscript中使用HTA,vbscript,hta,wsh,Vbscript,Hta,Wsh,在对VBscript使用HTA userform时,我发现HTA不支持WSScript及其对象/方法 有没有其他方法可以创建用户表单,或者有没有其他方法可以使HTA支持WScript?将您的WScript代码放入一个-文件,并按如下方式调用脚本: shell=new ActiveXObject('WScript.Shell'); shell.Exec('WScript //Job:job_id PATH_TO_YOUR_WSF_FILE'); 通过.wsf还可以使用HTA中不可用的方法,如WS
有没有其他方法可以创建用户表单,或者有没有其他方法可以使HTA支持WScript?将您的
WScript
代码放入一个-文件,并按如下方式调用脚本:
shell=new ActiveXObject('WScript.Shell');
shell.Exec('WScript //Job:job_id PATH_TO_YOUR_WSF_FILE');
通过.wsf
还可以使用HTA中不可用的方法,如WScript.Sleep()
、WScript.SendKeys()
等
MSDN上的更多信息:WScript.Echo的另一种选择是只需向DOM添加内容:
<script language="vbscript">
dim div: set div = document.getElementById("output")
div.innerText = "output"
</script>
<div id="output"/>
您可以使用Scripting.FileSystemObject
而不使用WScript
<script language="vbscript">
dim fso: set fso = CreateObject("Scripting.FileSystemObject")
dim path: path = fso.GetAbsolutePathName(".")
'... etc
</script>
dim fso:set fso=CreateObject(“Scripting.FileSystemObject”)
dim path:path=fso.GetAbsolutePathName(“.”)
'... 等
您需要使用哪些WScript成员?也许有其他方法,我使用WScript.Echo和FileSystemObject对象,我实际上是从bat文件调用vbs文件。然后我从vbs调用HTA表单来获取用户输入,并使用输入执行基于输入的操作?如果是这样,您需要HTABox.document.write
我想应该是JScript。现在我有了从bat文件调用HTA文件的想法。但有可能将数据从hta提取到批处理文件吗?如果您能告诉我如何在windows之间进行交互,我将非常高兴。我使用了临时文件,它工作正常,只是你不能传递真实的对象…我将像这样向hta文件传递参数:@call scripts\UserForm.hta“src”“dest”“op”,稍后在hta中,我将在这些参数中存储值,以便在bat文件中使用它们。我不知道这是否有意义
<script language="vbscript">
dim fso: set fso = CreateObject("Scripting.FileSystemObject")
dim path: path = fso.GetAbsolutePathName(".")
'... etc
</script>