Одна из мощнейших средств Ослика (начиная с пятой (!) версии) — HTA или HTML Application (безбраузерные приложения), позволяет создавать Windows-приложения используя HTML, CSS и Javascript/VBscript. Сразу хочу заметить, что в этой статье используется исключительно Javascript.
С точки зрения пользователя, созданная «программа» ничем, кроме расширения (*.hta), не отличается от любой другой программы: заголовок окна, иконка, отображение на панели задач, а самое главное никаких предупреждений при доступе к файлам компьютера. При всем этом вам не придется устанавливать никаких отдельных приложений или плагинов, достаточно Internet Explorer-а!
Далее представлен код простой HTA-программы. Скопируйте его в любой текстовый редактор, перед сохранением обязательно проверьте все кавычки сгенерированные хабра-редактором, и «HTA:Application» напишите слитно без пробелов (т.к. хабра-редактор ставит пробел после двоеточия)! Далее сохраните с расширением *.hta и запустите.
ВНИМАНИЕ! Пробел или перевод строки перед обратным слешем «/>» тоже обязателен!
Разница всего лишь в одном теге заголовка <HTA:Application… />, и в расширении *.hta. А каков результат?
Параметры тега HTA:Application позволяют управлять видом созданным приложения. Если тег и/или параметры не заданы, то значения параметров назначаются по-умолчанию.
Как вы видете, MS-овцы забыли добавить самые, по-моему, нужные параметры типа:
В примере, я постараюсь показать тот минимум, чтобы хотябы завлечь вас…
Сегодня на этом все.
Дополнительную информацию найдете в библиотеке MSDN.
С точки зрения пользователя, созданная «программа» ничем, кроме расширения (*.hta), не отличается от любой другой программы: заголовок окна, иконка, отображение на панели задач, а самое главное никаких предупреждений при доступе к файлам компьютера. При всем этом вам не придется устанавливать никаких отдельных приложений или плагинов, достаточно Internet Explorer-а!
Далее представлен код простой HTA-программы. Скопируйте его в любой текстовый редактор, перед сохранением обязательно проверьте все кавычки сгенерированные хабра-редактором, и «HTA:Application» напишите слитно без пробелов (т.к. хабра-редактор ставит пробел после двоеточия)! Далее сохраните с расширением *.hta и запустите.
ВНИМАНИЕ! Пробел или перевод строки перед обратным слешем «/>» тоже обязателен!
<html><head><title>
моя программа</title>
<hta:application id=myHta
applicationName=myApp />
</head>
<body bgcolor=buttonface
style="border: none;
font: 8pt sans-serif"
scroll=no text=buttontext>
Hello world!
</body></html>
Разница всего лишь в одном теге заголовка <HTA:Application… />, и в расширении *.hta. А каков результат?
Параметры тега HTA:Application позволяют управлять видом созданным приложения. Если тег и/или параметры не заданы, то значения параметров назначаются по-умолчанию.
Параметр в HTML |
в JScript |
Значение(я) (по умолчанию) |
Обозначение |
---|---|---|---|
APPLICATIONNAME |
applicationName | строка (нет) |
Уникальное имя приложения. |
INNERBORDER |
innerBorder | yes, no (yes) |
Наличие внутреннего бордюра. |
BORDERSTYLE |
borderStyle | normal, complex, raised, static, sunken (normal) |
Внутренний тип бордюра. |
BORDER |
border | thick, dialog, thin, none (thick) |
Наружный тип бордюра. |
CAPTION |
caption | yes, no (yes) |
Наличие заголовка. |
Нет | commandLine | Только для чтения. (полный путь к данному "*.hta") |
Содержимое командной строки. |
CONTEXTMENU |
contextMenu | yes, no (yes) |
Контекстное меню при клике правой кнопкой мыши. |
SELECTION |
selection | yes, no (yes) |
Возможность выделения текста внутри HTA . |
ICON |
icon | URL (нет) |
Путь к иконке (*.ico). |
MAXIMIZEBUTTON |
maximizeButton | yes, no (yes) |
Наличие кнопки «развернуть». |
MINIMIZEBUTTON |
minimizeButton | yes, no (yes) |
Наличие кнопки «свернуть». |
SCROLL |
scroll | yes, no, auto (yes) |
Наличие скроллинга. |
SCROLLFLAT (IE 5.5+) |
scrollFlat | yes, no (no) |
Cтиль скроллинга. |
SHOWINTASKBAR |
showInTaskBar | yes, no (yes) |
Отображение в панели задач. |
SINGLEINSTANCE |
singleInstance | yes, no (no) |
Запретить запуск второго экземпляра. |
SYSMENU |
sysMenu | yes, no (нет) |
Наличие системного меню. |
VERSION |
version | строка (нет) |
Версия HTA . |
WINDOWSTATE |
windowState | normal, minimize, maximize (normal) |
Начальное состояние окна. |
NAVIGABLE (IE 5.5+) |
navigable | yes, no (no) |
Переход по ссылке произойдет в окне HTA . |
Примечание:
Если не указать параметрBORDER
или указатьBORDER="thick"
, то размеры окна программы можно будет изменять при помощи мыши, в остальных же случаях (BORDER = thin || dialog || none
), размеры окна изменить нельзя.
Как вы видете, MS-овцы забыли добавить самые, по-моему, нужные параметры типа:
winWidth
, winHeight
, winPositionX
и winPositionY
. Но это можно вылечить самим.В примере, я постараюсь показать тот минимум, чтобы хотябы завлечь вас…
<html><head>
<hta:application id=hta_id
applicationName=hta_name
showInTaskBar=no
caption=no
innerBorder=no
selection=no
scroll=no
contextmenu=no />
<script language=javascript>
var winWidth=450; // ширина окна
var winHeight=120; // высота окна
// изменяем размер
window.resizeTo(winWidth, winHeight);
// окно в центр экрана
var winPosX=screen.width/2-winWidth/2;
var winPosY=screen.height/2-winHeight/2;
window.moveTo(winPosX, winPosY);
</script>
</head>
<body bgcolor=buttonface text=buttontext
style="padding: 2px;font: 8pt 'MS Sans serif'">
<div>Вглядитесь повнимательней на панель задач...
Ой, а меня, там нету...<br>
Правая кнопка мыши не работает, и текст не отмечается...<br>
Ну чем, я не программа? Хотя похожа на баннер ;).</div>
<div align=right><br>Для выхода нажмите ALT+F4.</div>
</body></html>
Сегодня на этом все.
Дополнительную информацию найдете в библиотеке MSDN.