HTML Application

HTML Application (HTA)

Расширение |  `.hta`[1]
MIME-тип |  application/hta[2]
Разработчик |  Майкрософт
Тип формата |  формат файла
Расширен из |  .html
Сайт |  msdn.microsoft.com/en-us…

HTML Application (HTA) — приложение Microsoft Windows, являющееся документом HTML, отображаемым в отдельном окне без элементов интерфейса обозревателя таких как строка меню, строка адреса, панель инструментов («без браузерное приложение») с помощью движка Microsoft Internet Explorer. На HTA не распространяются большинство ограничений безопасности Internet Explorer, в частности на использование небезопасных элементов ActiveX. Например, HTA может создавать, изменять, удалять файлы и записи системного реестра Windows. Возможность создания HTA появилась с выпуском Microsoft Internet Explorer 5.0.

Так как HTA поддерживают исполнение сценариев, они могут являться носителем вредоносного кода.

## Содержание

* 1 Запуск HTA
* 2 Настройка поведения и внешнего вида окна HTA
* 2.1 Атрибуты элемента HTA:APPLICATION и свойства связанного с ним объекта DOM
* 3 Примеры HTA
* 3.1 Простой статичный пример HTA
* 3.2 Классический пример «Hello world!»
* 3.3 Пример взаимодействия с ОС Windows
* 4 См. также
* 5 Примечания
* 6 Ссылки

## Запуск HTA[править | править код]

Для запуска HTA предназначена программа `mshta.exe`, в свою очередь использующая недокументированную функцию `RunHTMLApplication` из библиотеки `mshtml.dll`[3]. Так как обычно в системных настройках `mshta.exe` сопоставлена расширению `.hta`, то для того, чтобы файл с документом HTML открывался как HTA, достаточно сохранить его с этим расширением.

## Настройка поведения и внешнего вида окна HTA[править | править код]

Для настройки поведения и внешнего вида окна HTA введён нестандартный элемент разметки `HTA:APPLICATION`, который может быть расположен в разделе HEAD документа. Также для фреймов в HTA введён атрибут `APPLICATION` для задания того, распространяются ли на документ загруженный во фрейм права HTA или (по умолчанию) настройки безопасности Internet Explorer.

### Атрибуты элемента `HTA:APPLICATION` и свойства связанного с ним объекта DOM[править | править код]

Параметр | Обозначение | Значение(я)

|
|

applicationName | идентификатор исполнения HTA-документа  | /* name */
border | вид обрамления окна  | thin, dialog, none, thick
borderStyle | стиль обрамления окна  | complex, normal, raised, static, sunken
caption | наличие заголовка окна  | yes/no
commandLine | командная строка, с которой было запущено приложение: путь к приложению и его аргументы (только свойство)  |
icon | значок окна, в формате ICO (32x32)  | /* path */
maximizeButton | наличие кнопки «восстановить»  | yes/no
minimizeButton | наличие кнопки «свернуть»  | yes/no
showInTaskbar | отображение документа в панели задач Windows  | yes/no
windowState | исходный размер окна  | normal, minimize, и maximize
innerBorder | внутренняя граница окна  | yes/no
navigable | определяет открытие ссылки в новом окне или родительском  | yes/no
scroll | наличие полосы прокрутки  | yes/no
scrollFlat | 3D-вид полосы прокрутки  | yes/no
singleInstance | невозможность открытия других окон с тем же значением applicationName  | yes/no
sysMenu | наличие системного меню и кнопок управления окном в заголовке окна  | yes/no
contextMenu | контекстное меню, вызываемое правой кнопкой мыши  | yes/no
selection | разрешение выделения текста в HTA-окне  | yes/no
version | версия HTA  | /* version */

## Примеры HTA[править | править код]

### Простой статичный пример HTA[править | править код]

Приложение отображает статичное содержимое с установленными графическими атрибутами окна.

<html>
<head>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="WMPTour"
BORDER="thin"
BORDERSTYLE="normal"
CAPTION="no"
maximizeButton="no"
minimizeButton="no"
ICON="img/wmptour.ico"
SHOWINTASKBAR="no"
SINGLEINSTANCE="yes"
SYSMENU="yes"
VERSION="1.0"
WINDOWSTATE="maximize"

<meta charset="utf-8">
</head>
<body>
<p>Текст страницы HTA-документа. Для выхода нажмите «Alt»+«F4»!</p>
</body>
</html>

### Классический пример «Hello world!»[править | править код]

Пример классической программы, выводящей приветствие при нажатии на кнопку.

<html>
<head>
<title>HTA Test</title>
<HTA:APPLICATION
APPLICATIONNAME="HTA Test"
SCROLL="yes"
SINGLEINSTANCE="yes"
WINDOWSTATE="maximize"

</head>
<body>
<script type="text/VBScript" language="VBScript">
Sub TestSub
Msgbox "Hello, world!!!"
End Sub
</script>
<input type="button" value="Run Script" name="run_button"  onClick="TestSub()">
</body>
</html>

### Пример взаимодействия с ОС Windows[править | править код]

Приложение отображает название и версию операционной системы.

<html>
<head>
<title>Operating System Version</title>
<HTA:APPLICATION
APPLICATIONNAME="Operating System Version"
SCROLL="yes"
SINGLEINSTANCE="yes"

</head>
<body style="font:14 pt arial; color:white; filter:progid:DXImageTransform.Microsoft.Gradient (GradientType=1, StartColorStr='#000000', EndColorStr='#0000FF')">
<script type="text/VBScript" language="VBScript">
Sub GetOSVersion
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Msgbox objOperatingSystem.Caption & " " & objOperatingSystem.Version
Next
End Sub
</script>
<p>Нажми на кнопку - получишь результат!</p>
<input type="button" value="Operating System" name="run_button"  onClick="GetOSVersion()">
</body>
</html>

## См. также[править | править код]

* XBAP (XAML Browser Application)
* XUL
* HTML Components
* Windows Script Host
* Electron

## Примечания[править | править код]

1. ↑ Introducing HTML Applications: DHTML Goes out of the Browser (англ.) — Microsoft.
2. ↑ The Web Deployment Model // Introduction to HTML Applications (HTAs)
3. ↑ Klaus Jochem. Poweliks – Command Line Confusion (англ.). This is Security :: by Stormshield (20 августа 2014). — «Even if not documented, the actual `RunHTMLApplication` can be inferred from the call made by c:\windows\system32\mshta.exe (the application dedicated to launch an `.hta` file)…» Дата обращения: 5 февраля 2019. Архивировано 7 февраля 2019 года.

## Ссылки[править | править код]

* Microsoft Corporation. Введение в HTML-приложения (Introduction to HTML Applications) (англ.).

Это заготовка статьи о Windows. Помогите Википедии, дополнив её.

|