2013-04-25 1 views
1

Можно ли вызвать приложение .HTA, размещенное на внутреннем веб-сайте (интрасеть), и передать аргументы/параметры с помощью стандартных «? Var = value» и «& var = значение "синтаксис? Я знаю, что их можно запускать с использованием WScript-подобного синтаксиса типа «app.hta arg1 arg2 ...». Но я не могу заставить пространство работать нормально, даже когда разбор составляет% 20 и т. Д.Вызов приложения HTA ​​со встроенными параметрами, такими как PHP или ASP

+0

Можете ли вы показать синтаксис «WScript-like»? Не должно быть никаких проблем с передачей пробелов через аргументы «Выполнить». – Teemu

ответ

2

Вы можете передать командные строки args в 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>