Smitka development

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>: <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:
Ukázka výsledné aplikace

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.
tip
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
linkuj.czjagg.czpošli na vybrali.sme.skdeliciousTopČlánky.cz
Nahoru HOME PC•Elektro Programování Blog Autor Lynt Speciální backlink: Šulislav
© 2006 Smitka development