HTA aplikace
HTA, neboli HTML Application je technologie vyvinutá Microsoftem pro Internet Explorer 5+, díky které se webové stránky mohou chovat jako aplikace (spustí se v samostatném okně a mají přístup k funkcím systému). Jde vlastně o zrušení bezpečnostních pravidel pro skripty a přístup k dalším funkcím JavaScriptu (JScriptu), jako je práce s registry, se soubory, spouštění spustitelných souborů, práce s DLL knihovnami,...
Soubor HTA vytvoříte jednoduše změněním přípony .htm na .hta, vaše stránka se tak spustí v "aplikačním okně". Vzhled a chování okna můžete upravit přidáním HTA hlavičky mezi tagy <HEAD>:

Pro práci se soubory se musí načíst ActiveX Scripting.FileSystemObject, například:
Další funkce FileSystemObject:Close, Copy, CopyFile, CopyFolder,CreateFolder, CreateTextFile, Delete, DeleteFile, DeleteFolder, FileExists, FolderExists, Move, MoveFile, MoveFolder, OpenAsTextStream, OpenTextFile, Read, ReadAll, ReadLine, Write, WriteLine.
Ke spouštění programů slouží Wscript.Shell:

Tento ActiveX obsahuje i funkce pro práci s registry:
Pokud se chcete dozvědět víc, určitě si přečťete článek o Java Scriptech ve Windows
Soubor HTA vytvoříte jednoduše změněním přípony .htm na .hta, vaše stránka se tak spustí v "aplikačním okně". Vzhled a chování okna můžete upravit přidáním HTA hlavičky mezi tagy <HEAD>:
<HTA:APPLICATION
ICON="ikona.ico"
ID = "id aplikace"
APPLICATIONNAME = "jediněčný název aplikace(lze z jiných programůzjistit, zda běží)"
BORDER = "typ okraje: thick,thin none,dialog"
BORDERSTYLE = "styl okraje:normal,complex,raised,static,sunken"
CAPTION = "titulní lišta (modrý proužek):yes/no"
SHOWINTASKBAR = "zabrazení v seznamu úloh:yes/no"
SINGLEINSTANCE = "spustitelnost více instancí:yes/no"
SYSMENU = "zobrazení tlačítk pro zavření, maximalizaci...:yes/no"
WINDOWSTATE = "velikost okna:normal,maximized,minimalized"
SCROLL = "skrolování:yes/no"
SCROLLFLAT = "hezké ploché scrollbary:yes/no"
VERSION = "verze aplikace:1.0"
INNERBORDER = "vnitřní okraj(styl normal pak vypadá jako complex):yes/no"
SELECTION = "možnost označovat text:yes/no"
MAXIMIZEBUTTON = "yes/no"
MINIMIZEBUTTON = "yes/no"
NAVIGABLE = "yes/no"
CONTEXTMENU = "yes/no">
Výsledná aplikace může vypadat třeba takto:
Funkce HTA
Nejdůležitější vlastností je možnost načtění ActiveX používaných Windows. To se provede příkazem v JavaScriptu: var act = new ActiveXObject("nějaké ActiveX");Pro práci se soubory se musí načíst ActiveX Scripting.FileSystemObject, například:
<SCRIPT LANGUAGE="JavaScript">
var fso = new ActiveXObject("Scripting.FileSystemObject");
var soubor = fso.CreateTextFile("c:\'\'HTA_test.txt", true);
soubor.WriteLine("Pokusný soubor vytvořený aplikací HTA");
soubor.Close();
</SCRIPT>
Tento skript vytvoří textový soubor a zapíše do něj text, stažení ukázky.Další funkce FileSystemObject:Close, Copy, CopyFile, CopyFolder,CreateFolder, CreateTextFile, Delete, DeleteFile, DeleteFolder, FileExists, FolderExists, Move, MoveFile, MoveFolder, OpenAsTextStream, OpenTextFile, Read, ReadAll, ReadLine, Write, WriteLine.
Ke spouštění programů slouží Wscript.Shell:
<SCRIPT LANGUAGE="JavaScript">
var ws = new ActiveXObject("WScript.Shell");
ws.Run("cesta k souboru .exe");
</SCRIPT>
Podobně můžeme spustit funkce z DLL knihoven, stačí jako cestu k souboru dát "rundll32 knihovna,parametry", tedy:
<SCRIPT LANGUAGE="JavaScript">
var ws = new ActiveXObject("WScript.Shell");
ws.Run("rundll32 shell32,ShellAboutA");
</SCRIPT>
Takto se zobrazí informace o systému pomocí knihovny shell32.dll, stažení ukázky.
Jaké funkce knihovna obsahuje zjistíte tak, že ji otevřete v nějakém editoru umožňujícím vyhledávání (integrovaný prohlížeč v Total Commanderu) a vyhledáte jméno knihovny i s příponou, za ním jsou uvedeny funkce, které lze volat (někdy je v knihově více řetězců se jménem knihovny, ale pouze za jedním jsou uvedeny funkce)
Tento ActiveX obsahuje i funkce pro práci s registry:
<SCRIPT LANGUAGE="JavaScript">
var ws = new ActiveXObject("WScript.Shell");
var cesta="HKLM\'\'SOFTWARE\'\'Microsoft\'\'Windows\'\'CurrentVersion\'\'version";
ws.Popup(ws.RegRead(cesta));
</SCRIPT>
Spuštěním tohoto skriptu se do vyskakovacího okna vytvořeného ActiveXkem vypíše verze Windows načtená z registru, stažení ukázky.
Pokud se chcete dozvědět víc, určitě si přečťete článek o Java Scriptech ve Windows

