Закройте HTA, когда пользователь нажимает клавишу "Esc"

Я пытаюсь зафиксировать нажатие клавиш, чтобы закрыть HTA, когда пользователь нажимает клавишу Esc.

Я подтвердил, что onKeyUp событие работает (я также фиксирую длину входных данных), а также то, что приведенный ниже пример не работает (путем добавления MsgBox который не уволен).

Что мне здесь не хватает?

Sub window_onKeyUp()

    If window.event.keyCode = 27 Then
        Call CloseHTA()
    End If

End Sub

2 ответа

Решение

Это работает для меня.

<script language="VBScript">
    Sub TestKey()
        intKeyCode = Window.Event.Keycode
        If intKeyCode = 27 Then Window.Close
    End Sub
</script>

<body onkeyup="TestKey">
</body>

Редактировать:

Кроме того, вы можете использовать Document_OnKeyUp() если вы хотите включить свой код после <body> тег.

<body>
</body>

<script language="VBScript">
    Sub Document_OnKeyUp()
        intKeyCode = Window.Event.Keycode
        If intKeyCode = 27 Then Window.Close
    End Sub
</script>

Вы можете попробовать вот так:

<html>
<script language="VBScript">
    Sub TestKey()
        intKeyCode = Window.Event.Keycode
        If intKeyCode = 27 Then Call CloseHTA()
    End Sub
    Sub CloseHTA()
        self.close
    End Sub
</script>

<body onkeyup="TestKey">
</body>
</html>
Другие вопросы по тегам