1

Тема: HTA: перехват нажатий клавиш

Пример показывает, как можно перехватить нажатия клавиш в окне HTA. Пример блокирует нажатие Alt+F4, которое привело бы к закрытию окна HTA.

function fnTrapKD(){
    if(event.keyCode == 115 ){
        keycode.innerHTML = event.keyCode + ": "+String.fromCharCode(event.keyCode);
        alert("Key "+ event.keyCode + " is restricted!");
            event.returnValue=false;
    }else{
        keycode.innerHTML = event.keyCode + ": "+String.fromCharCode(event.keyCode);
    }
}
<BODY onkeydown="fnTrapKD()">

Примечание: для работы примера необходимо, чтобы в HTML-разметке присутствовал элемент с ID "keycode".
Почти тот же пример, но пригодный для непосредственного запуска (просто сохраните в текстовый файл .hta):

<HTML>
<!-- 
Файл AltF4Restict.hta
Пример показывает, как можно перехватить нажатия клавиш в окне HTA.
Пример блокирует нажатие Alt+F4, которое привело бы к закрытию окна HTA.
-->
<HEAD>
<script language="JavaScript">
function fnTrapKD(){
    if(event.keyCode == 115 ){
        alert("Key "+ event.keyCode + " is restricted!");
        event.returnValue=false;
    }
}
</script>
</HEAD>
<BODY onkeydown="fnTrapKD()"></BODY>
</HTML>

Пример опубликовал -red-.

Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.

2

Re: HTA: перехват нажатий клавиш

Строго говоря, предыдущие примеры обрабатывают любое нажатие F4, но не именно Alt+F4.
Простой пример, который блокирует именно сочетание Alt+F4:

<body onKeyDown="if((event.keyCode==115)&&(event.altKey==true)){return false;}">

Автор примера - Санёк.

Предложения в русском языке начинаются с большой буквы и заканчиваются точкой.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.