问题
I've been searching for awhile, but I cannot seem to find the answer. I am making a gui based program selector and I am quite new to VBS and HTA. I've made a auto-typer and I cannot seem to figure out why it does not work in HTA. It works fine on its own.
<head>
<title>Gui Bases Program Selector.</title>
<HTA:APPLICATION
APPLICATIONNAME="HTA Test"
SCROLL="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="maximize"
>
</head>
<script language="VBScript">
Sub TestSub
Set shell = CreateObject("wscript.shell")
strtext = InputBox("What Do you want your message do be?")
strtimes = InputBox ("How many times would you like you type it?")
If Not IsNumeric(strtimes) Then
lol = MsgBox("Error = Please Enter A Number.")
WScript.Quit
End If
MsgBox "After you click ok the message will start in 5 seconds "
WScript.Sleep(5000)
Tor i=1 To strtimes
shell.SendKeys(strtext & "")
shell.SendKeys "{Enter}"
WScript.Sleep(75)
Next
End Sub
</script>
<body>
<input type="button" value="AutoTyper" name="run_button" onClick="TestSub"><p>
</body>
回答1:
The HTA engine doesn't provide a WScript
object, so things like WScript.Quit
or WScript.Sleep
don't work in HTAs. To programmatically exit from an HTA use Self.Close
or window.Close
. For replacing the Sleep
method see the answers to this question.
来源:https://stackoverflow.com/questions/40476304/error-object-required-wscript-in-hta