Самозакрывающееся HTA приложение

  • 02.03.2023
  • 1 049
  • 0
  • 14.03.2023
  • 3
  • 3
  • 0
Самозакрывающееся HTA приложение

Пример самозакрывающегося HTA приложения

Безбраузерные приложения HTA не пользуются особой популярностью, но все же имеют место быть, и их работа продолжает поддерживаться даже в самых последних версиях Windows. Благодаря своей простоте, их можно сделать буквально на коленке в Блокноте, в результате чего, их можно использовать для самых различных сценариев - например, для создания простого приложения, которое будет выполнять роль заглушки, и закрываться через какое-то время.

Однако, не смотря на возможность использовать внутри HTA программы скрипты на языке VBScript, использовать метод Sleep не получится, поскольку в HTA нет возможности использования объекта WScript. Самое простое решение - запустить невидимое окно с Командной строкой, в которой будет выполнена команда timeout с указанием нужного времени, а после этого - поместить команду закрытия приложения. В итоге, рабочий пример вышеописанного сценария выглядит следующим образом:

<head>
	<hta:application title="Самозакрывающееся приложение"/>
	<title>Самозакрывающееся приложение</title>
</head>
<body>
	<center>Это приложение закроется через 10 секунд.</center>
	<script language="VBScript">
		Set objShell = CreateObject("WScript.Shell")
		objShell.Run "cmd /c timeout /t 10", 0, 1
		window.close()
	</script>
</body>

Важно! Команда timeout в Командной строке появилась только в Windows Vista, поэтому, для использования данного приложения в Windows XP, потребуется заменить команду timeout на команду ping, с соответствующими аргументами:

<head>
	<hta:application title="Самозакрывающееся приложение"/>
	<title>Самозакрывающееся приложение</title>
</head>
<body>
	<center>Это приложение закроется через 10 секунд.</center>
	<script language="VBScript">
		Set objShell = CreateObject("WScript.Shell")
		objShell.Run "cmd /c ping 127.0.0.1 -n 10 > nul", 0, 1
		window.close()
	</script>
</body>
Была ли эта статья Вам полезна?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.