HTML Приложения (HTA). Приложения HTML

HTML-приложения

Начиная с Internet Explorer 5.0 появилась возможность создавать HTML-приложения с любым пользовательским интерфейсом при помощи JavaScript или VBScript. Причем, созданное html-приложение будет запускаться вне браузера и ничем не будет отличаться от стандартных Windows-приложений.

Созданное приложение будет присутствовать на панели задач, иметь свое собственное окно, меню и значок. Плюс ко всему отпадает необходимость подтверждать использование ActiveX-компонентов (система защиты Internet Explorer предусматривает появление предупреждающих сообщений при попытке использования ActiveX в HTML-документах). Вы имеете полный контроль над системой, включая чтение/запись файлов, данных в реестре, управление процессами. Для создания такого приложения достаточно обычного Блокнота (или другой текстовый редактор).

Данные html-приложения должны иметь расширение *.hta . Простейший случай будет выглядеть так:

Моя программа

0 Then oShell.Run sCommandLine,1,0 End Sub

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

Методы и свойства класса FileSystemObject

Очень часто встречаются такие случаи, когда необходимо что-то создать, удалить, переместить или изменить на диске компьютера. Эту задачу позволяет решить класс FileSystemObject, предназначенный для работы с файловой системой.

Наиболее распространенная задача из операций с файловой системой - это чтение файла. Ниже представлена функция чтения текстового файла, которая в качестве параметра принимает путь к файлу, а отдает массив строк считанного файла.

Function ReadFile(sFileName) Set oFSO = CreateObject("Scripting.FileSystemObject") Set oInFile = oFSO.OpenTextFile(sFileName, 1, False, 0) sFileContent = oInFile.ReadAll oInFile.Close ReadFile = sFileContent End Function

Еще одна полезная функция - это проверка существования файла, например, перед запуском внешней программы или перед считыванием текстового файла. Входным параметром функции является путь к файлу, выходным - логическая переменная.

Function CheckFile(sFilePath) Set oFSO = CreateObject("Scripting.FileSystemObject") If oFSO.FileExists(sFilePath) Then CheckFile = True Else CheckFile = false End If End Function

Классы Windows Management Instrumentation

Windows Management Instrumentation (WMI) - это набор интерфейсов для управления операционной системой через специальные компоненты, причем как локально, так и по сети. Это очень богатый набор инструментов, с помощью которого можно выполнить любое действие в среде семейства Windows.

Наиболее простым и востребованным примером использования WMI является определение параметров дисплея пользователя для центрирования формы приложения на экране.

Function GetDisplayResolution() Set oWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems = oWMIService.ExecQuery("Select * From Win32_DesktopMonitor") For Each oItem In colItems iHorizontal = oItem.ScreenWidth iVertical = oItem.ScreenHeight Exit For Next GetDisplayResolution = iHorizontal & ";" & iVertical End Function

Второй пример использования WMI также полезен и часто используется - это функция определения доступности компьютера в сети.

Function PingComputer(sComputer) Set oPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("SELECT" & _ * FROM Win32_PingStatus WHERE address = "" & sComputer & """) For Each oStatus In oPing If IsNull(oStatus.StatusCode) Or oStatus.StatusCode

Пример использования функций взаимодействия с операционной системой

Преобразуем наше приложение следующим образом: изменим текст формы, добавим все вышеописанные примеры, на форме разместим несколько кнопок для запуска заданий, в директории, где располагается файл HTA-приложения, создадим папку "MyHTA_files", в которой разместим несколько файлов:

  • text.txt- любой текстовый файл;
  • test.vbs- файл, содержащий только одну строку:MsgBox("Hello script!");
  • MyHTA.ico- любая иконка;
  • MyHTA.vbs- файл, содержащий все вышеописанные скрипты.

Листинг файла "MyHTA.hta"

Моё HTA-приложение

Моё HTA-приложение
Версия: X.X

" Процедура инициализации окна формы Sub WindowOnLoad Dim CurrentResolution " Размер окна iWidth = 800 iHeight = 600 " Получение текущего разрешения экрана CurrentResolution = GetDisplayResolution() " Изменение размера окна и его центрирование iLeft = (Split(CurrentResolution,";")(0) - iWidth) / 2 iTop = (Split(CurrentResolution,";")(1) - iHeight) / 2 Self.Focus() Self.resizeTo iWidth, iHeight Self.moveTo iLeft, iTop " Вывод версии приложения на форму Version_Div.InnerHTML = "Версия: " & oHTA.Version End Sub Sub RunApplication(sApplication) sCommandLine ="" Set oShell = CreateObject("Wscript.Shell") Select Case sApplication Case "CommandPrompt" sCommandLine = "%ComSpec%" Case "TestScript" If CheckFile(oShell.CurrentDirectory & "\MyHTA_files\Test.vbs") = True Then sCommandLine = "WScript """ & oShell.CurrentDirectory & _ "\MyHTA_files\Test.vbs""" Else MsgBox("Файл не найден") End If Case "TextFile" If CheckFile(oShell.CurrentDirectory & "\MyHTA_files\Test.txt") = True Then sCommandLine = "Notepad """ & oShell.CurrentDirectory & _ "\MyHTA_files\Test.txt""" Else MsgBox("Файл не найден") End If Case "TempDir" sCommandLine = "Explorer " & oShell.ExpandEnvironmentStrings("%Temp%") Case Else sCommandLine ="" End Select If Len(sCommandLine) > 0 Then oShell.Run sCommandLine,1,0 End Sub Function ReadFile(sFileName) Set oFSO = CreateObject("Scripting.FileSystemObject") Set oInFile = oFSO.OpenTextFile(sFileName, 1, False, 0) sFileContent = oInFile.ReadAll oInFile.Close ReadFile = sFileContent End Function Function CheckFile(sFilePath) Set oFSO = CreateObject("Scripting.FileSystemObject") If oFSO.FileExists(sFilePath) Then CheckFile = True Else CheckFile = false End if End Function Function GetDisplayResolution() Set oWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems = oWMIService.ExecQuery("Select * From Win32_DesktopMonitor") For Each oItem In colItems iHorizontal = oItem.ScreenWidth iVertical = oItem.ScreenHeight Exit For Next GetDisplayResolution = iHorizontal & ";" & iVertical End Function Function PingComputer(sComputer) Set oPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery(_ "select * from Win32_PingStatus where address = "" & sComputer & """) For Each oStatus In oPing If IsNull(oStatus.StatusCode) Or oStatus.StatusCode 0 Then PingComputer = False Else PingComputer = True End If Next End Function

Итак, теперь мы имеем форму, в которой к каждой из кнопок привязано определенное действие. Чтобы оживить форму и сделать интерфейс более приятным, нам потребуется использовать таблицы стилей, а так же свойства объектов формы, которые мы будем менять динамически по мере возникновения новых событий формы.

Динамический интерфейс

Динамический интерфейс или интерфейс, меняющийся в зависимости от действий пользователя, реализуется при помощи DHTML. Реализация DHTML стоит а трёх "китах": непосредственно HTML, каскадных таблицах стилей (CSS) и языке сценариев (Java Script или Visual Basic Script). Эти три компонента DHTML связаны между собой объектной моделью документа (DOM), являющейся, по сути, интерфейсом прикладного программирования (API). DOM связывает воедино три перечисленных компонента, придавая простому документу HTML новое качество, - возможность динамического изменения своего содержимого без перегрузки страницы.

На самом деле мы уже использовали динамический интерфейс в предыдущих примерах - это изменение размера и положения формы при загрузке, а также вывод версии приложения на форму.

Пример создания динамического интерфейса

Итак, первое, что нам потребуется - это создать статическую структуру нашей формы. В нашем примере мы уже создали основу формы - таблицу. Теперь нам потребуется дополнить ее областями, которые будут принимать в себя динамические данные. Для этого изменим тело таблицы согласно схеме, показанной на рисунке.

Листинг файла "MyHTA.hta"

Моё HTA-приложение

Моё HTA-приложение
Добро пожаловать

Теперь, когда структура формы готова, необходимо создать таблицу стилей, которая и будет определять внешний вид всех объектов формы. Если вы уже заметили, из разметки формы пропали все атрибуты, отвечающие за отображение объектов - теперь все атрибуты определяются CSS-файлом "MyHTA.css". Этот файл таблицы стилей располагается в папке "MyHTA_files", и подключается командой

Листинг файла "MyHTA_files\MyHTA.css"

Body { background-color: buttonface; font-family: Tahoma; } table { height: 100%; width: 100%; } .Header_Row { height:40px; } .Content_Row { vertical-align: top; } #StaticMenu_Cell { width: 20%; text-align: center; } #StaticMenu_Cell input { width: 150px; margin: 2px 2px 2px 2px; } #DynamicContent_Cell { margin: 2px 2px 2px 2px; } #DynamicContent_Cell #DynamicContent_Div { text-align: center; } #DynamicContent_Cell #DynamicContent_Div .NormalLink { font-family: Tahoma; font-size: 10pt; color: black; cursor: default; vertical-align: text-bottom; text-align: left; padding-right: 20px } #DynamicContent_Cell #DynamicContent_Div .NormalLinkMouseOver { font-family: Tahoma; font-size: 10pt; color: Navy; text-decoration: underline; cursor: hand; vertical-align: text-bottom; text-align: left; padding-right: 20px } #DynamicContent_Cell #DynamicContent_Div .TextFile { font-family: Tahoma; font-size: 10pt; text-align: left; } .Footer_Row { height:30px; } #Version_Div { float: left; } #Button_Div { float: right; }

Последнее и самое сложное, что нужно сделать - это написать логику работы формы - сценарий на языке Visual Basic. Сценарий должен обрабатывать события формы и изменять ее интерфейс в зависимости от потребностей пользователя.

Первое событие, которое возникает в приложении - это загрузка формы. При этом событии сценарий должен получить от системы разрешение экрана, отцентровать форму и изменить ее размеры. Далее могут возникать события нажатия кнопок, при которых нужно определять нажатую кнопку, выполнять соотвествующую команду и перерисовать динамическую зону формы. Последнее событие - это нажатие на кнопку "Закрыть", при котором форма закрывает себя.

Если более подробно рассмотреть событие нажатия кнопки "Файл test.txt", то можно выделить несколько этапов логики:

  • проверка наличия файла на диске компьютера;
  • вывод в динамическую зону вопроса о том, как отобразить текстовый файл - создание двух новых объектов с обработкой событий "при нажатии";
  • обработка события выбранного отбъекта - открыть в блокноте или вывести на форму;
  • открытие тектового файла в блокноте, если выбрано это действие;
  • вывод в динамическую зону формы содержимого текстового файла, если выбрано это действие.
  • Сценарий-обработчик событий располагается в папке "MyHTA_files", и подключается командой в файле приложения "MyHTA.hta".

    Листинг файла "MyHTA_files\MyHTA.vbs"

    " Процедура инициализации окна формы Sub WindowOnLoad Dim CurrentResolution " Размер окна iWidth = 800 iHeight = 600 " Получение текущего разрешения экрана CurrentResolution = GetDisplayResolution() " Изменение размера окна и его центрирование iLeft = (Split(CurrentResolution,";")(0) - iWidth) / 2 iTop = (Split(CurrentResolution,";")(1) - iHeight) / 2 Self.Focus() Self.resizeTo iWidth, iHeight Self.moveTo iLeft, iTop " Вывод версии приложения на форму Version_Div.InnerHTML = "Версия: " & oHTA.Version End Sub Sub RunApplication(sApplication) sCommandLine ="" Set oShell = CreateObject("Wscript.Shell") Select Case sApplication Case "CommandPrompt" sCommandLine = "%ComSpec%" DynamicContent_Div.InnerHTML = "Командная строка открыта" Case "TestScript" If CheckFile(oShell.CurrentDirectory & "\MyHTA_files\Test.vbs") = True Then sCommandLine = "WScript """ & oShell.CurrentDirectory & _ "\MyHTA_files\Test.vbs""" DynamicContent_Div.InnerHTML = "Скрипт " & oShell.CurrentDirectory & _ "\MyHTA_files\Test.vbs" & " выполнен" Else DynamicContent_Div.InnerHTML = "Файл не найден" End If Case "TextFile" If CheckFile(oShell.CurrentDirectory & "\MyHTA_files\Test.txt") = True Then sDinamicContent = "Выберите режим отображения содержимого файла:- Открыть файл в блокноте" sDinamicContent = sDinamicContent & "- Отобразить здесь" DynamicContent_Div.InnerHTML = sDinamicContent Else DynamicContent_Div.InnerHTML = "Файл не найден" End If Case "TextFile_Form" sDinamicContent = "" & _ "Текстовый файл: " & _ oShell.CurrentDirectory & "\MyHTA_files\Test.txt" sDinamicContent = sDinamicContent & "Закрыть" sDinamicContent = sDinamicContent & "
    " & _ Replace(ReadFile(oShell.CurrentDirectory & _ "\MyHTA_files\Test.txt"),vbCrLf,"
    ") & "" DynamicContent_Div.InnerHTML = sDinamicContent Case "TextFile_Notepad" sCommandLine = "Notepad """ & oShell.CurrentDirectory & "\MyHTA_files\Test.txt""" DynamicContent_Div.InnerHTML = "Файл " & oShell.CurrentDirectory & _ "\MyHTA_files\Test.txt" & " открыт в блокноте" Case "TextFile_Close" DynamicContent_Div.InnerHTML = "Добро пожаловать" Case "TempDir" sCommandLine = "Explorer " & oShell.ExpandEnvironmentStrings("%Temp%") DynamicContent_Div.InnerHTML = "Папка временных файлов открыта" Case Else sCommandLine ="" End Select If Len(sCommandLine) > 0 Then oShell.Run sCommandLine,1,0 End Sub Function ReadFile(sFileName) Set oFSO = CreateObject("Scripting.FileSystemObject") Set oInFile = oFSO.OpenTextFile(sFileName, 1, False, 0) sFileContent = oInFile.ReadAll oInFile.Close ReadFile = sFileContent End Function Function CheckFile(sFilePath) Set oFSO = CreateObject("Scripting.FileSystemObject") If oFSO.FileExists(sFilePath) Then CheckFile = True Else CheckFile = false End If End Function Function GetDisplayResolution() Set oWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems = oWMIService.ExecQuery("Select * From Win32_DesktopMonitor") For Each oItem In colItems iHorizontal = oItem.ScreenWidth iVertical = oItem.ScreenHeight Exit For Next GetDisplayResolution = iHorizontal & ";" & iVertical End Function Function PingComputer(sComputer) Set oPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery(_ "select * from Win32_PingStatus where address = "" & sComputer & """) For Each oStatus In oPing If IsNull(oStatus.StatusCode) Or oStatus.StatusCode 0 Then PingComputer = False Else PingComputer = True End If Next End Function Sub ccSleep(seconds) Set oShell = CreateObject("Wscript.Shell") sCommand = "%COMSPEC% /c ping -n " & 1 + seconds & " 127.0.0.1>nul" oShell.Run sCommand,0,1 End Sub здесь .

    Приложение "Консоль администратора"

    Приложение "Консоль администратора" - это сборник часто используемых команд администратора домена или службы поддержки домена. С помощью данной программы можно: управлять компьютером, скорректировать сервисы, узнать информацию о компьютере, узнать информацию о пользователе, разблокировать пользователя или сменить ему пароль.

    Данное приложение представяет из себя форму с возможностью выбора требуемой команды, полями ввода имени компьютера и пользователя, кнопки "Выполнить" и информационной строки, где отображается результат выполнения команд. Консоль имеет файл конфигурации "MyHTA.ini", в котором задаются параметры домена. Архив с примером программы можно загрузить .

    Виталий Бочкарев

    Внешние ссылки

    Секция внешних ссылок, то есть ссылок на другие сайты, к которым данный ресурс не имеет никакого отношения.. Кроме этого, владелец сайта сайт не несет никакой ответственности за доступность этих ресурсов и за их контент.

    Главный писатель по вопросам технологий

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

    До того, как вы сможете открыть файл HTA, вам необходимо выяснить, к какому виду файла относится расширения файла HTA.

    Tip: Incorrect HTA file association errors can be a symptom of other underlying issues within your Windows operating system. These invalid entries can also produce associated symptoms such as slow Windows startups, computer freezes, and other PC performance issues. Therefore, it highly recommended that you scan your Windows registry for invalid file associations and other issues related to a fragmented registry.

    Ответ:

    Файлы HTA имеют Исполнимые файлы, который преимущественно ассоциирован с Hypertext Application.

    Файлы HTA также ассоциированы с Hemera Thumbnail Archive (Hemera Technologies Inc.), Tonline BSW4 File и FileViewPro.

    Иные типы файлов также могут использовать расширение файла HTA. Если вам известны любые другие форматы файлов, использующие расширение файла HTA, пожалуйста, свяжитесь с нами , чтобы мы смогли соответствующим образом обновить нашу информацию.

    Как открыть ваш файл HTA:

    Самый быстрый и легкий способ открыть свой файл HTA - это два раза щелкнуть по нему мышью. В данном случае система Windows сама выберет необходимую программу для открытия вашего файла HTA.

    В случае, если ваш файл HTA не открывается, весьма вероятно, что на вашем ПК не установлена необходимая прикладная программа для просмотра или редактирования файлов с расширениями HTA.

    Если ваш ПК открывает файл HTA, но в неверной программе, вам потребуется изменить настройки ассоциации файлов в вашем реестре Windows. Другими словами, Windows ассоциирует расширения файлов HTA с неверной программой.

    Установить необязательные продукты - FileViewPro (Solvusoft) | | | |

    HTA Инструмент анализа файлов™

    Вы не уверены, какой тип у файла HTA? Хотите получить точную информацию о файле, его создателе и как его можно открыть?

    Теперь можно мгновенно получить всю необходимую информацию о файле HTA!

    Революционный HTA Инструмент анализа файлов™ сканирует, анализирует и сообщает подробную информацию о файле HTA. Наш алгоритм (ожидается выдача патента) быстро проанализирует файл и через несколько секунд предоставит подробную информацию в наглядном и легко читаемом формате.†

    Уже через несколько секунд вы точно узнаете тип вашего файла HTA, приложение, сопоставленное с файлом, имя создавшего файл пользователя, статус защиты файла и другую полезную информацию.

    Чтобы начать бесплатный анализ файла, просто перетащите ваш файл HTA внутрь пунктирной линии ниже или нажмите «Просмотреть мой компьютер» и выберите файл. Отчет об анализе файла HTA будет показан внизу, прямо в окне браузера.

    Перетащите файл HTA сюда для начала анализа

    Просмотреть мой компьютер »

    Пожалуйста, также проверьте мой файл на вирусы

    Ваш файл анализируется... пожалуйста подождите.

    - Расширение (формат) - это символы в конце файла после последней точки.
    - Компьютер определяет тип файла именно по расширению.
    - По умолчанию Windows не показывает расширения имен файлов.
    - В имени файла и расширении нельзя использовать некоторые символы.
    - Не все форматы имеют отношение к одной и той же программе.
    - Ниже находятся все программы с помощью которых можно открыть файл HTA.

    XnView - довольно мощная программа, сочетающая в себе множество функций по работе с изображениями. Это может быть и простой просмотр файлов, и их конвертирование, и незначительная обработка. Является кроссплатформенной, что позволяет использовать её практически в любой системе. Программа уникальна ещё и тем, что поддерживает около 400 различных форматов изображений, среди которых встречаются как самые используемые и популярные, так и нестандартные форматы. XnView может производить пакетную конвертацию изображений. Правда, сконвертировать их можно только в 50 форматов, но среди этих 50 форматов присутствуют все популярные расшир...

    Многие пользователи MS Windows давно успели заметить, что стандартный блокнот - это довольно неудобная в своем использовании программа. Заменой ей может стать данный бесплатный редактор текстовых файлов, обеспечивающий поддержку синтаксиса большого количества языков программирования. Программа содержит в себе довольно широкий набор опций и отличается минимальным потреблением ресурсов процессора. Программа делает возможным одновременный просмотр нескольких документов сразу и редактирование их, без закрытия лишних окон. Доступной стала и такая опция, как редактирование одного и того же документа в разных местах, что очень удобно...

    Notepad2 – простое приложение, позволяющее печатать и редактировать текст. Она поможет в создании HTML-страниц, программировании на различных языках (CSS, Java, JavaScript, Python, SQL, Perl, PHP) так как способна подсвечивать код. Программа построена по принципу простого блокнота, она маловесна и компактна. Этот текстовый редактор проверяет все скобки на наличие пары, поддерживает авто отступы. Программа Notepad2 не только поддерживает кодировки ASCII и UTF-8, но и умеет их конвертировать. Позволяет откатывать нежелательные операции на много уровней назад. Поддерживает блочное выделение элементов текста и имеет нумерованные ст...

    XnConvert – полезная утилита для конвертирования и первичной обработки фотографий и изображений. Работает с 400+ форматами. Поддерживает все популярные графические форматы. С помощью простых инструментов XnConvert можно регулировать яркость, гамму и контрастность. В приложении можно менять размер фотографий, накладывать фильтры и ряд популярных эффектов. Пользователь может добавлять водяные знаки и заниматься ретушью. При помощи приложения можно удалять мета-данные, обрезать файлы и вращать их. XnConvert поддерживает журнал, в котором пользователь увидит всю подробную информацию о своих недавних манипуляциях с изображениями.

    В интернете очень много программ, позволяющих редактировать исходный код другой программы, файла и др. Однако большинство из подобных программ являются всего лишь текстовым редактором наподобие блокнота. Отличаются они от вышеуказанного редактора лишь тем, что имеют подсветку синтаксиса. Однако в некоторых случаях, такого функционала программы оказывается недостаточно. Программисту бывает необходимо быстро находить различные части документа. И вот, наконец-то, в появилась программа, позволяющая решить эту проблему. Программа называется SynWrite. Её отличительная особенность – наличие навигационной панели с деревом, котор...

    Формат HTA или как веб-страничку превратить в программу

    Ну так вот. Открыв файлик *.hta тектовым редактором, я, как и ожидал, увидел кучу тегов. Все, вроде, понятно и доступно. Единственное отличие - поле в разделе HEAD . В этом поле указываются параметры, относящиеся к внешнему виду окна, в котором будет отображаться HTML содержимое, поскольку, файлик *.hta является вполне себе самодостаточным и не требует ничего, кроме наличия на компьютере ослика IE версии > 5.0. А параметры там вот такие:


    APPLICATIONNAME
    Атрибут - APPLICATIONNAME, свойство - applicationName. Содержит имя приложения. Это свойство доступно только для чтения и не имеет значения по умолчанию. Если свойство singleInstance установлено в true, значение applicationName автоматически проверяется перед запуском экземпляра приложения. Чтобы проверка была успешной, значение applicationName должно быть уникальным. Таким образом, значение свойства applicationName используется для идентификации единственности запущенного приложения, независимо от адреса URL, используемого для доступа к нему. BORDER
    Атрибут - BORDER, свойство - border. Содержит тип бордюра окна HTML приложения. Это свойство доступно только для чтения и имеет значение по умолчанию "thick". Свойство border влияет на толщину бордюра и действительно только для окон HTA, у которых есть панель заголовка и сам заголовок. Устанавливая border в "none", вы убираете панель заголовка, иконку программы, и кнопки максимизирования и минимизирования. Это свойство может быть использовано со свойством borderStyle.
    Возможные значения:
    thick По умолчанию. Толстый бордюр окна, плюс бордюр для изменения размера окна.
    dialog Бордюр диалогового окна.
    none Окно без бордюра.
    thin Тонкий бордюр окна с заголовком.
    BORDERSTYLE
    Атрибут - BORDERSTYLE, свойство - borderStyle. Содержит стиль бордюра клиентской области окна HTML приложения. Это свойство доступно только для чтения и имеет значение по умолчанию "normal". Свойство borderStyle устанавливает стиль для бордюра содержимого окна, в то время как свойство border контролирует бордюр окна приложения.
    Возможные значения:
    normal По умолчанию. Нормальный бордюр.
    complex Приподнятый и утопленный бордюр.
    raised Приподнятый 3-D бордюр.
    static 3-D бордюр, обычно используемый для окон, не обрабатывающих ввод пользователя.
    sunken Утопленный 3-D бордюр. CAPTION
    Атрибут - CAPTION, свойство - caption. Определяет, будет ли в окне HTML приложения отображаться панель заголовка. Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Заголовок приложения (title) отображается только тогда, когда свойство caption установлено в yes. Отключение свойства caption также отключит кнопки "Свернуть", "Развернуть" и программную иконку. В этом случае вы должны предоставить альтернативный способ выхода из приложения, например, кнопку, вызывающую метод close объекта window.
    Возможные значения:
    yes По умолчанию. Панель заголовка отображается.
    no Панель заголовка не отображается. COMMANDLINE
    Свойство - commandLine. Строка, которая содержит путь и параметры командной строки, которые использовались для запуска HTA-приложения. Это свойство доступно только для чтения и не имеет значения по умолчанию. Если HTA-приложение было запущено с использованием HTTP протокола, свойство commandLine содержит пустую строку.
    CONTEXTMENU
    Атрибут - CONTEXTMENU, свойство - contextMenu. Определяет, появляется ли контекстное меню при нажатии на правую кнопку мыши. Это свойство доступно только для чтения и имеет значение по умолчанию "yes".
    Возможные значения:
    yes По умолчанию. Контекстное меню появляется.
    no Контекстное меню не появляется. ICON
    Атрибут - ICON, свойство - icon. Определяет путь к файлу иконки, используемой в HTML приложении. Это свойство доступно только для чтения и имеет значение по умолчанию "System Application Icon". HTA использует системную иконку, если значение не определено. Атрибут icon распознаёт стандартные файлы с расширением.ico, содержащие изображение размером 32x32 пиксела. INNERBORDER
    Атрибут - INNERBORDER, свойство - innerBorder. Определяет, отображается ли внутренняя 3-D граница. Это свойство доступно только для чтения и имеет значение по умолчанию "yes".
    Возможные значения:
    yes По умолчанию. Внутренняя 3-D граница отображается.
    no Внутренняя 3-D граница не отображается. MAXIMIZEBUTTON
    Атрибут - MAXIMIZEBUTTON, свойство - maximizeButton. Определяет, отображается ли кнопка "Развернуть" на панели заголовка окна HTML приложения. Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Для того, чтобы отображались кнопки "Свернуть" и "Развернуть", окно должно иметь панель заголовка (атрибут caption).
    Возможные значения:
    yes По умолчанию. Кнопка "Развернуть" отображается.
    no Кнопка "Развернуть" не отображается. MINIMIZEBUTTON
    Атрибут - MINIMIZEBUTTON, свойство - minimizeButton. Определяет, отображается ли кнопка "Свернуть" на панели заголовка окна HTML приложения. Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Для того, чтобы отображались кнопки "Свернуть" и "Развернуть", окно должно иметь панель заголовка (атрибут caption).
    Возможные значения:
    yes По умолчанию. Кнопка "Свернуть" отображается.
    no Кнопка "Свернуть" не отображается. NAVIGABLE Атрибут - NAVIGABLE, свойство - navigable. Определяет, в каком окне будут открываться загружаемые документы: в основном окне HTML приложения, или в новом окне. Это свойство доступно только для чтения и имеет значение по умолчанию "no".
    Возможные значения:
    no По умолчанию. Будут открываться в новых окнах.
    yes Будут открываться в основном окне. SCROLL
    Атрибут - SCROLL, свойство - scroll. Определяет, будут ли отображаться полосы прокрутки. Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Установка значения свойства body.scroll равным "no" - это альтернативный способ предотвратить появление полос прокрутки.
    Возможные значения:
    yes По умолчанию. Полосы прокрутки отображаются.
    no Полосы прокрутки не отображаются.
    auto Полосы прокрутки появляются только тогда, когда содержимое документа не умещается в клиентской области окна. SCROLLFLAT
    Атрибут - SCROLLFLAT, свойство - scrollFlat. Определяет, в каком виде будут отображаться полосы прокрутки: в 3-х мерном, или в 2-х мерном виде. Это свойство доступно только для чтения и имеет значение по умолчанию "no".
    Возможные значения:
    yes Полосы прокрутки двухмерные.
    no По умолчанию. Полосы прокрутки трёхмерные. SELECTION
    Атрибут - SELECTION, свойство - selection. Определяет, может ли содержимое документа быть выбрано мышкой или с помощью клавиатуры. Присвоение атрибуту SELECTION значения "no" запрещает появление контекстного меню. В этом случае присвоение атрибуту CONTEXTMENU значения "yes" не произведёт никакого эффекта. Использование в документе редактируемых элементов переопределяет значение selection. Любой объект может быть выбран, когда значение свойства contentEditable установлено в true где угодно в HTML приложении. Это свойство доступно только для чтения и имеет значение по умолчанию "yes".
    Возможные значения:
    yes По умолчанию. Содержимое может быть выбрано.
    no Содержимое не может быть выбрано. SHOWINTASKBAR
    Атрибут - SHOWINTASKBAR, свойство - showInTaskBar. Определяет, будет ли HTML приложение появляться на панели задач Windows. Свойство showInTaskBar не влияет на появление приложения в списке приложений, который появляется, когда пользователь нажимает ALT+TAB. Это свойство доступно только для чтения и имеет значение по умолчанию "yes".
    Возможные значения:
    yes По умолчанию. Приложение отображается на панели задач.
    no Приложение не отображается на панели задач. SINGLEINSTANCE
    Атрибут - SINGLEINSTANCE, свойство - showInTaskBar. Определяет, может ли быть запущенно больше одного экземпляра HTML приложения одновременно. Это свойство доступно только для чтения и имеет значение по умолчанию "no".
    Возможные значения:
    yes Только один экземпляр приложения может быть запущен.
    no По умолчанию. Может быть запущенно несколько экземпляров приложения одновременно. SYSMENU
    Атрибут - SYSMENU, свойство - sysmenu. Определяет, отображается ли системное меню в HTML приложении. Системное меню HTA обозначается программной иконкой в левом углу панели заголовка. Системное меню HTA показывает все команды, входящие в стандартное системное меню Windows, включая "Восстановить", "Переместить", "Размер", "Свернуть", "Развернуть", и "Закрыть". Это свойство доступно только для чтения и имеет значение по умолчанию "yes".
    Возможные значения:
    yes По умолчанию. Системное меню отображается в панели заголовка.
    no Системное меню не отображается в панели заголовка. VERSION
    Атрибут - VERSION, свойство - version. Определяет номер версии HTML приложения (строка). Это свойство доступно только для чтения и не имеет значения по умолчанию. WINDOWSTATE
    Атрибут - WINDOWSTATE, свойство - windowState. Определяет начальные размеры окна HTML приложения. Это свойство доступно только для чтения и имеет значение по умолчанию "normal".
    Возможные значения:
    normal По умолчанию. Размер окна - стандартный размер для Microsoft Internet Explorer.
    minimize Появляется только заголовок окна на панели задач.
    maximize Окно появляется развёрнутым во весь экран.

    А возможность использования в таких файлах Java и VB скриптов позволяет делать вообще все что угодно. Кроме того, исполняются они в зоне "Мой компьютер", как и обычные приложения, что существенно снижает требования к безопасности скриптов со стороны IE.
    В общем, приложив немного фантазии я накатал простенькую менюшку для запуска приложений с флешки, которую и выкладываю тут. Смотрите, разбирайтесь.



    Понравилась статья? Поделиться с друзьями: