1

是否可以调用托管在内部网站(内联网)上的 .HTA 应用程序并使用标准的“?var=value”和“&var=value”语法传入参数/参数?我知道可以使用类似 WScript 的语法(例如“app.hta arg1 arg2 ...”)来启动它们。但即使解析为 %20 等,我似乎也无法让空间正常工作。

4

1 回答 1

2

您可以通过指定路径将命令行参数传递给 HTA,例如C:\helloworld.hta "arg1". 下面是一个示例,将其保存到目录并使用此语法运行它C:\helloworld.hta "admin" "user"确保用引号将 arg 括起来,此脚本中的代码使用Split Function引号将命令行拆分。

<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>
于 2013-06-04T19:00:31.023 回答