是否可以调用托管在内部网站(Intranet)上的.HTA应用程序,并使用标准“?var = value”和“& var = value”语法传递参数/参数?我知道可以使用类似WScript的语法启动它们,例如“app.hta arg1 arg2 ...”。但即使解析为%20等,我似乎也无法让空格正常工作
答案 0 :(得分:2)
您可以通过指定C:\helloworld.hta "arg1"
之类的路径将命令行参数传递给HTA。下面是一个示例,将其保存到目录并使用此语法运行它C:\helloworld.hta "admin" "user"
确保用引号括住arg,此脚本中的代码使用Split Function
将命令行拆分为引号。 / p>
<html>
<head>
<title>Hello World with Args</title>
<HTA:APPLICATION
APPLICATIONNAME="Hello World with Args"
ID="HelloWorldwithArgs"
VERSION="1.0"/>
</head>
<script language="VBScript">
Sub Window_OnLoad
Window.resizeTo 400, 300
args = Split(HelloWorldwithArgs.commandLine, Chr(34))
For i = 3 To (UBound(args) - 1) Step 2
Select Case LCase(args(i))
Case "admin"
strAdmin = "Hello World!!" & vbCrLf & "You passed the admin arg."
Case "user"
strUser = "Hello World!!" & vbCrLf & "You passed the user arg."
End Select
Next
DataArea.innerHTML = strAdmin & vbCrLf & strUser
End Sub
</script>
<body bgcolor="white">
<h1 align="center">Hello World</h1>
<textarea align="center" name="DataArea" id="DataArea" rows="5" cols="40"></textarea><br /><br />
<input type="button" style="width:100px;" name="btnExit" id="btnExit" value="Exit" onclick="self.close()">
</body>
</html>