HTML Application

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Wisgest (обсуждение | вклад) в 04:13, 26 января 2014. Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
HTML Application (HTA)
Расширение ..hta
MIME-тип application/hta[1]
Разработчик Microsoft
Тип формата формат файла
Расширен из .html
Сайт msdn.microsoft.com/en-us…

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.

Атрибуты 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 невозможность открытия других окон с тем же значением applicationName 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>

Ссылки

См. также

  1. The Web Deployment Model // Introduction to HTML Applications (HTAs)