HTA - 未终止的字符串容量错误

时间:2017-02-13 20:26:32

标签: vbscript hta

在我的HTA文件中,我正在尝试实现文件浏览器按钮,但由于某种原因,HTA抱怨未终止的字符串常量。我使用vbs文件检查了代码,但它在HTA

中无效

代码段

        Sub StartExec_OnClick           
            Dim objShell, objFile, BrowseForFile

            Set objShell = CreateObject("Shell.Application")
            aa = "about:<input type=file id=FILE><script>FILE.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0);</script>"
            Set objFile = objShell.Exec("mshta.exe " & Chr(34) & aa & Chr(34))
            BrowseForFile = objFile.StdOut.ReadLine

            Set objFile=Nothing
            Set objShell=Nothing
        End Sub

1 个答案:

答案 0 :(得分:2)

...;resizeTo(0,0);</" & "script>"

您遇到问题,解析器错误地处理脚本结束的位置,而不是您在引号中包含的脚本,而是包含该字符串的脚本。字符串中包含的</script>标记被视为外部脚本的结束标记。只需将字符串常量拆分以避免它。