WebSite - Подавление закрытия окна HTA

Записка от 07.02.2014

В некоторых сценариях интерфейса может понадобится запретить закрывать HTA-приложение средствами операционной системы: кнопкой заголовка окна "Закрыть", контекстным меню заголовка окна и сочетанием ALT+F4.

Чтобы убрать кнопки и контекстноем меню HTA-приложения, нужно в заголовке формы выставить следующие параметры:

<hta:application
    ...
    Border = "Dialog"
    Caption = "Yes"
    ContextMenu = "No"
    InnerBorder = "No"
    MaximizeButton = "No"
    MinimizeButton = "No"
    Scroll = "No"
    Selection = "No"
    SingleInstance = "Yes"
    SysMenu = "No"
    WindowState = "normal"
    ...
/>

Чтобы подавить нажатие ALT+F4, нужно

а) к телу формы назначить отслеживание события нажатия кнопки:

<body onkeydown="KeyDown(window.event)" >
    ...
</body>

б) выполнять следующий VBS-скрипт каждый раз при нажатии клавиши:

Function KeyDown(mEvent)
  if (mEvent.keyCode = 116 Or mEvent.keyCode =27 Or (mEvent.altKey and mEvent.keyCode=115)) Then
    window.event.returnValue = false
    window.event.keyCode = 0
  end If
End Function

Данный метот подавления закрытия формы используется в проекте терминала самообслуживания клиентов по этой ссылке.

Вверх