- HTML Application
-
HTML Application (HTA) Расширение .hta
Сигнатура %hta
Разработан Сайт http://msdn.microsoft.com/en-us/library/ms536471(VS.85).aspx
HTML Application (HTA) — приложение Microsoft Windows, написанное на HTML или Dynamic HTML. Возможность создания HTA впервые возникла с появлением браузера Microsoft Internet Explorer 5.0.
HTA-документ (HTA-приложение) является HTML-документом со встроенными в заголовке атрибутами HTA (соответственно, имеет расширение .hta). Для настройки внешнего вида HTA введён новый тег <hta:application …>, который располагается в секции <head> … </head> документа HTA. Приложение HTA может быть сделано из обычного файла HTML сменой расширения на .hta.
Обычное приложение HTML ограничено моделью безопасности web-браузера, например, возможны взаимодействие с сервером, манипулирование объектной моделью страницы (обычно для проверки данных формы и/или создания интересующих визуальных эффектов) и чтение/запись файлов «куки» (англ. cookie).
В отличие от этого, HTA запускается, как полностью надёжное и безопасное приложение, и, следовательно, имеет больше привилегий в системе, чем обычная HTML-страница. Например, HTA может создавать/редактировать/удалять файлы и записи Системного реестра Windows. Так как HTA имеет больше привилегий, чем HTML-страница, такое приложение не может исполняться по протоколу HTTP. Вместо этого, файл HTA должен быть загружен (так же, как и EXE-файл) и исполнен в среде локальной системы.
Так как приложения HTA поддерживают исполнение сценариев, они могут являться носителем вредоносного кода и могут использоваться для создания червей, работающих через почтовые программы.
Содержание
Атрибуты HTA
applicationName идентификатор исполнения HTA-документа /*name*/ border вид обрамления окна thin, dialog, none, thick borderStyle стиль обрамления окна complex, normal, raised, static, sunken caption наличие заголовка окна yes/no 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 возможность одновременного открытия нескольких окон yes/no sysMenu наличие системного меню и кнопок управления окном в заголовке окна yes/no contextMenu контекстное меню, вызываемое правой кнопкой мыши yes/no selection разрешение выделения текста в HTA-окне yes/no version версия HTA /*version*/ Примеры HTA
Для тестирования примеров скопируйте код в текстовый файл с именем *.hta (например, test.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"> </head> <body> Текст страницы HTA-документа. Для выхода нажмите «Alt»+«F4»! </body> </html>
Классический пример «Hello world!»
Пример классической программы, выводящей приветствие при нажатии на кнопку.
<html> <head> <title>HTA Test</title> <HTA:APPLICATION APPLICATIONNAME="HTA Test" SCROLL="yes" SINGLEINSTANCE="yes" WINDOWSTATE="maximize" > </head> <script language="VBScript"> Sub TestSub Msgbox "Hello, world!!!" End Sub </script> <body> <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> <script 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> <body STYLE="font:14 pt arial; color:white; filter:progid:DXImageTransform.Microsoft.Gradient (GradientType=1, StartColorStr='#000000', EndColorStr='#0000FF')"> <p>"Нажми на кнопку - получишь результат!"</p> <input type="button" value="Operating System" name="run_button" onClick="GetOSVersion"> </body> </html>
Ссылки
- Microsoft Corporation. Введение в HTML-приложения (Introduction to HTML Applications) (англ.). Архивировано из первоисточника 13 марта 2012.
- Виталий Бочкарёв. Статья "HTML-приложения" (рус.) (19 октября 2009). Архивировано из первоисточника 13 марта 2012.
См. также
Категории:- Форматы файлов
- HTML
Wikimedia Foundation. 2010.