Alkalmazás HTA, ablakok IT Pro

Körülbelül másfél évvel ezelőtt kezdték el használni, hogy adja meg az egyéni HTML-oldal adatait, elsősorban annak érdekében, hogy képesek elfedni a beírt jelszavakat. Mivel nem vagyok webfejlesztő, ez volt a legegyszerűbb oldalak HTML.

A HTML oldalak lehetséges, hogy megoldja a problémát, de egy idő után nem volt javítások a Microsoft Internet Explorer (IE) és a Windows-szervizcsomag, hogy kitört a szokásos munka során. A telepítés után a javítások és szervizcsomagok nem frissítem az szkriptek már annyira kényelmes, mint azelőtt, amikor is a szkriptet duplán kattintva az egérrel, és kezd belépni adatokat egyszerre. Most, mielőtt elkezd gépelni, meg kellett volna válaszolni igennel egy sor biztonsági utasításokat, vagy az oldal nem volt hajlandó elfogadni felhasználói. Meg kellett valamit csinálni, amit most hívott aktív tartalmak - alapvetően szkriptek és ActiveX-vezérlők a HTML kódot. Ezen túlmenően, a szkriptek által használt más rendszergazdák, és fáradt vagyok a hívások és e-mailek miatt ilyen ellentmondások.

A megoldás erre a problémára is hozzám, mikor először kezdett új Scriptomatic 2.0. Az egyik alkalmazás nagyon érdekelt. Ez megtörtént nagyon ízlésesen, de ami még fontosabb, azt végezték anélkül, hogy a biztonsági alrendszer kérdéseket. Én is csodálkoztam, hogy mit lehet tenni a segítségével interfész HTA (HTML Application - HTML alkalmazás).

bázisok HTA

HTA scriptek, először IE 5.0, volt egy időben nagyon népszerű. De, sajnos, amikor elkezdtem fejleszteni közigazgatási szkriptek Windows NT, még nem hallott vagy olvasott róluk. Tény, hogy a HTA script egy szabványos HTML oldal kiterjesztése .hta, de HTA szkriptek nem szigorú korlátozások és kötelező biztonsági intézkedéseket alkalmazni a HTML oldalak.

Létrehozása HTA igényel scripting ismeretek. Általános szabály, hogy a programozás HTML létrehozásához használt kijelző bemeneti formák, és a program VBScript behelyezzük a HTML kódot az oldalon. Általában ez jön le, hogy beléphessen az adatbeviteli űrlap gombra, amely létrehozza az onclick esemény, kattintson rá az egérrel. Más szóval, miután a felhasználó belép adatokat és rákattint a gombra, VBScript kódot kell dolgozni és végre egy bizonyos műveletet.

Ha új programozási HTML (mint az elején, hogy velem volt), akkor be kell követ el valamilyen kutatási erőforrások MSDN (Microsoft Developer Network). Van elérhető sokféle példák és hivatkozások, és miután töltött néhány napot, akkor képes lesz arra, hogy hozzon létre igazán hasznos HTA szkripteket.

Írásban kódot HTML kézzel, és segítségével a speciális szoftverek fejlesztése - ez olyan, mint éjjel-nappal. A legtöbb kódot, és talán az összes kódot automatikusan generált, mint ha grafikusan létrehozhatja a képernyőn formában adja meg. Miután létrehozott egy űrlapot kell használni a kódot a script, majd mentse a kapott fájlt kiterjesztésű .hta.

Fordítson különös figyelmet arra, hogy bármely alkalmazás vagy script, a HTA tartalmazhatja a potenciális veszélyt, különösen, ha érkező ismeretlen vagy nem megbízható forrásokból. Megpróbál ragaszkodni az általános szabály, hogy ha kap fájlokat, ismeretlen forrásból származó, ne nyissa ki őket, csak törölni azonnal. ÉN használ HTA szkripteket csak a saját termelés és adja át őket csak az emberek, tudom.

Elemezzük a forgatókönyvet HTA

Az 1. ábra mutatja az alapvető forgatókönyv a HTA, mint az 1. lista - a kód, amely létrehozza a forgatókönyvet. A HTML-kód által megvalósított egyszerű szerkezetű elemek által meghatározott címkéket. A legtöbb tag van párosítva. Címkeelemet kezdődik és végződik, ez a címke elem.

Amint az 1. listában a kulcsszó kezd HTA, a címke annak felbontását. Ezt követi az első eleme a dokumentumot. Ebben a példában a címsor formában történő belépés és az ablak elemek között helyezkednek el, és címkéket. HTA Element: ALKALMAZÁS (HTA alkalmazás), ami azt mutatja, egy A részlete az 1. lista, határozza meg az adatbeviteli formák. Ebben az esetben a HTA elem beállítások: alkalmazás készlet a felhasználói felület ablak, amely egy vékony határ, amelyben a határ a stílus van beállítva beesett, minimális és maximális méretűre gombok aktiválódnak, és bezárta a görgetősáv és az ikon az alkalmazás, így nem jelenik meg a tálcán.

Ha CAPTION SYSMENU és attribútumok legyen óvatos. Ha beállítja őket helytelenül, akkor az űrlap nem záródik. Az attribútum értéke egyenlő CAPTION No. megszünteti a címsorában az alkalmazás ablakában. Ha egy másik SYSMENU attribútum beállítása No. akkor ki kell zárni a gombok minimalizálása, maximalizálása, és bezár. Tehát, úgy döntött, CAPTION attribútumok halmaza vagy egyenlő SYSMENU No. Győződjön meg róla, hogy bezár a gombok az oldalán.

Amikor a vizsgálat a forgatókönyv HTA vettem észre, hogy ha kihagyja az összes ilyen attribútumokat HTA: ALKALMAZÁSI tag és egyszerűen fordítsa. Az alapértelmezett beállításokat használja, és a látvány őket elég kielégítő. Ha szeretnénk, hogy a beviteli űrlap vonzóbb, használata attribútumok HTA: alkalmazás, az 1. táblázatban felsorolt ​​A táblázat a különféle attribútumok és azok lehetséges értékeit, és az alapértelmezett értékeket.

B fragmentum az 1. lista mutatja az elem HTA script, ami elindítja a címkét. Ezt követi egy string language = attribútum, ahol az attribútum határozza meg a nyelvet, hogy megteremtse a forgatókönyvet, ebben az esetben ez a VBScript. Ebben a példában a HTA, a szkript elemet tartalmaz egy egyszerű rutin a nyelven VBScript, amely végrehajtásra, amikor a felhasználó rákattint a gombra, hogy aktiválja a script A gomb megnyomásával futtatni. Több, mint valami különleges, de akkor másolja bármely részét a VBScript kódot, ami a címkék között. és gyorsan egy működő script.

Az utolsó rész az 1. listában kezdődik tag. és végződik a tag. Ez az elem tartalmazza a HTML-kódot, amely létrehoz egy formája, ahol a felhasználó megadja adatait a területen, és aktiválja a gombot. A HTA 1. ábra a két beviteli mezők: egy beviteli mező egyszerű szöveges és jelszó mezőt szöveget, amely elrejti bármilyen szöveget a felhasználó által megadott. Van még két gomb: az egyik fut a kód VBScript, másik bezárja az alkalmazást.

Nézzük meg közelebbről a body elem. C fragment azt mutatja, hogy a kód létrehoz egy szöveg számára az 1. ábrán Itt a kulcsszó

Úgy kezdődik egy új bekezdés, és a címke

kiegészíti azt. A címkék meghatározására használt stílus, méret és szín a szöveget. Ha a megállapítás ezen paraméterek nem szükséges, és azt szeretné, hogy az alapértelmezett szöveg stílusa, a fejhallgató Times New Roman, fekete színű, betűméret 3. Meg kell mondjam, a betűtípus méretek eltérnek a szokásos betűtípusokat használnak, például a Microsoft Word. hét méretben lehet megadni HTML (1-7) segítségével size = attribútumot, és a mérete a legkisebb lesz az 1. és a legnagyobb méretű 7. Még ha a HTA az alapértelmezett méret, a kódot kiemelő C beállítja a betűméretet 3 szót a szövegmezőbe (Text box) és a szavak egy szöveges mezőben a legtöbb bármilyen típusú bemenet (egy szöveges mező a legtöbb fajta I), hogy bizonyítsa a .

input elem meghatároz egy beviteli mező, ahol a felhasználó megadhatja az adatokat. Egyenlőség type = attribútum típusát beviteli mező (például egy szöveg számára, a jelszót, a szokásos gombot, egy kapcsoló). Ebben az esetben akkor létrehoz egy szöveg számára (type = "text"), amelynek a neve T1 (name = "T1"), és a mérete a mező 20 szimbólumok (size = "20"). És T1.value érték az, hogyan hivatkozik egy szöveges mezőt a kódot VBScript. Ellentétben a legtöbb tag tag nincs vége tag.

Kódot a jelszó mezőt a szöveg ugyanolyan formában, mint a kód egy beviteli mező szöveget. Azonban ebben az esetben meg kell adni egy „password”, és nem „szöveg” az egyenletben type = attribútumot, ebben az esetben, minden szöveg a felhasználó által beírt, rejtve marad.

D fragmens a kódot mutatja, hogy létrehozza ezt a gombot nyomja futtatásához script gombra a forgatókönyvet, és kilépés Kilépés gombot. Mindkét gomb van típusú bemenet „gomb” () gombot. Mindkét gomb is input egy attribútum nevezett onclick. Onclick attribútumot beállítani, hogy a név a szubrutin, eljárás, vagy egyéb kód, amit aktiválni kell, ha rákattint a gombra. Button A gomb megnyomásával futtatni. onclick beállítása rutinok showsetting (mutat beállításokat.) - lásd a töredék B 1. listán Ez a rutin mutatja a szöveget, hogy a felhasználó belép a Szöveg mezőbe és a Jelszó mezőbe. Az a szöveg, a felhasználó belép a mezőbe jelszó jelenik meg szöveges formában. Onclick attribútummal való kilépéshez gomb self.close módszer (önzáró). Ez a módszer azonnal bezárja a HTA. Itt Self utal, hogy a jelenlegi nyitott ablakon.

A lehetőségek végtelenek

HTA Ez a példa mutatja csak egy töredéke annak, amit el lehet érni HTA forgatókönyveket. Következő fogom bemutatni HTA script kell hozzárendelni, és ellenőrzi a felhasználói kvótát a helyi és távoli számítógépen.

szerkezet a HTA

A 2. ábra az eszköz felhasználói kvóták Felhasználói kvóta segédprogram: Képernyő információk beviteléhez négy beviteli mezők, a legördülő listából, két gomb és két szöveges mezők. Tekintsük ezeket a komponenseket és működését a közüzemi is.

A mezők információ beviteli (input box). Az első beviteli mezőbe lehet belépni egy listát a felhasználói azonosítók, azonosító, felhasználói fiókokat, melyeknél szeretné változtatni a kvótát. A második mezőben adja meg az információkat a felhasználó belép a neve a kiszolgáló vagy PC-re, amelyek a kvóták alá. Ha ez a mező üresen marad, akkor az alapértelmezett eszköz jár a helyi gépen. Ha ezek a felhasználói azonosítók a számlák egy másik számítógépen, akkor adja meg a domain nevét, a számítógép vagy a harmadik beviteli mezőbe. Ha ez a mező üresen marad, akkor az alapértelmezett eszköz utal, hogy a helyi rendszer.

A negyedik mező információk beviteléhez felhasználók input kvóta bájt. Mint látható az 1. ábrán, Megadtam az alapértelmezett méret 5368709120, azaz 5 GB, de akkor meg azt a méretet, amit jónak látsz. Ha szeretné, hogy adja meg a kvóta bájtban megabájt vagy gigabájt, akkor lehetséges, hogy a második HTA (UserQuotaUtility2.hta), amelyben a három lehetőség van kivitelezve a 3. ábrán látható.

Legördülő listában (legördülő). Legördülő listából után közvetlenül a második szövegmezőbe. Ez lehetővé teszi a felhasználó számára, hogy kiválasszon egy meghajtó betűjelet a számítógép, amelyre a kvótát. Legördülő menüből ebben a példában HTA egy meglehetősen impozáns lista meghajtóbetűjeleket. Az alapértelmezett érték a fenti forgatókönyv, HTA - C: meghajtó.

Gombot. Amikor a felhasználó rákattint az első gomb Futtatás módosítása Felhasználói kvóták (aktiválja változás felhasználói kvóta), a Felhasználói kvóta Utility segédprogram próbálja beállítani a megadott kvótát a kiválasztott rendszerben. Ez az intézkedés miatt rutin RunMod VBScript alatt HTA, amely a 2. lista mutatja.

A második gomb Futtatás Kvóta Query - aktiválja a kvóta kérésére ad egy listát a kvótákat a megadott kiszolgáló vagy tárolóeszközt. Ez az intézkedés miatt rutin RunQuery VBScript alatt HTA. Ez az alkalmazás nem szűri felhasználói azonosítókat futtatásakor a szubrutin sorolja az összes beállítást felhasználó kvótákat a megadott számítógép vagy tárolóeszközt. Még ha a felhasználó a felsorolt ​​felhasználói azonosítókat az első mezőben adja meg az információkat, és aktiválja Run Kvóta Query gomb hatására, amely tájékoztatást nyújt minden számla ezen a rendszeren, és nem csak a rekordok szerepel a listán.

elemzése HTA

Miután az alkalmazás beállításait, a HTA magában VBScript részén, lásd 2. lista Ez a rész három alprogram :. Window_Onload, RunMod és RunQuery.

Alprogram Window_Onload. Window_Onload szubrutin végzi el automatikusan aktiválása után ezt az alkalmazást. Először is, a rutin használ self.Focus (), hogy elindítsa az alkalmazást ablak előtt az összes többi ablakot. Ezután a rutin beállítja a méret a kérelmet ablakot, és beállítja az alapértelmezett méret a kvóta (qlimit.value).

Alprogram RunMod. Alprogram RunMod, amely kapcsolatban van a gomb Futtatás Felhasználó módosítása kvóták kódot tartalmaz, hogy módosítsa a felhasználói kvóta. Amellett, hogy tisztító mezőértékeket állapota (via üzemeltető statval.value = „”) Ez a kód ellenőrzi a „kocsi vissza” szimbólumok vagy „soremelés” a végén a mező adja meg a felhasználói azonosítót, felhasználói azonosító. A „kocsi vissza” és a „soremelés” szükséges-vége, ezért ha nem, akkor hozzáadja a kódot. RunMod szubrutin használja az osztott funkció az elválasztó vbCrLf építeni egy sor felhasználói azonosítók, amely később használja HTA létrehozni ezeket a kvótákat.

Ez a szkript értékeket rendel egy formája, hogy belépjen a HTA információt változók, amelyek használják a forgatókönyvet. Ez a szkript használja GetObject keresni esetekben az osztály. Ez használ klassWin32_DiskQuota számára RunMod rutinok, valamint RunQuery, és használja Win32_ComputerSystem osztály keresni a nevét a helyi számítógépen, ha a felhasználó elhagyja a domain bejegyzés üres.

Minden rutin RunMod adott kódot kiemelő A 2. kódrészlet Itt a rutin hurkok segítségével a felhasználói azonosítók, ID. Minden ID rutin egy speciális felhasználói kvóta telepíti és javítások határérték objQuota.Put_ módszer.

Alprogram RunQuery. Sub RunQuery, amely kapcsolatban van a gombbal a Lekérdezés futtatása Kvóta gombot, elindul a paraméterek beállítása a bemeneti értékeket. Ezután RunQuery állítja állandók wbemFlagForwardOnly és wbemFlagReturnImmediately. Állandó wbemFlagForwardOnly okozza a script, így egyirányú számláló ilyen mérőeszközök tipikusan sokkal gyorsabb és kevesebb memóriát használ, mint a hagyományos számlálók. Állandó wbemFlagReturnImmediately teszi a hívást azonnal vissza.

Ezután RunQuery rutin-n keresztül csatlakozik a Windows Management Instrumentation (WMI) egy szerver vagy számítógép, amely a felhasználó által megadott, a mező üresen marad, akkor a szkript csatlakozik a helyi számítógépen. Az alprogram akkor használja kérjen WQL (WMI Query Language) nyelvet, hogy a rendelkezésre álló adatok a kvóta, a kódrészlet B. Ez a lekérdezés script meghatározza állandók wbemFlagForwardOnly és wbemFlagReturnImmediately. Ha azt szeretnénk, hogy csökkentsék a számát sornyi kódot, lehetséges, hogy összekapcsolják az itt megadott értékek állandók és állítsa be a tizedes értéket 48 - példája ennek rövidebb változata A töredék kódot.

A WQL lekérdezési paraméter opcionális WQL. B fragment kód használja ezt a lehetőséget, de ha nem kapcsol be, van, hogy két vessző a semmi között, mivel az üzemeltető Set colItems fragmentum A. Még jobb jelzik WQL, mert az ő jelenléte világossá teszi, hogy ez - Select utasítás kezelhető WMI.

Miután RunQuery adatokat kap a meglévő kvóták RunQuery mutatja az összes adatot a nagy formátumú Microsoft Excel táblázatkezelő. Vegye figyelembe, hogy mivel nincs Win32_DiskQuota osztály tulajdonságait, mint például a számláló, az rutin hozza Excel inicializációjuk a jövő hurok, és meghatározza a címke do_once. Ha a mérő tulajdonság lenne elérhető, a rutin egyszerűen megkeresi az állapot „nagyobb, mint nulla”, akkor nem volt szükséges, hogy megindítja a ciklus és az Excel a következő, ha nem lenne eredménye visszatérés.

Kód befejezését. Egység nyelven VBScriptet HTA is tartalmaz ConvStatus működését, amint a C fragmentet Ez a funkció átalakítja tagsági kvóták számszerű kifejezése 0, 1 vagy 2, az értékeket a OK, Figyelmeztetés vagy meghaladta, ill. Vegye figyelembe, hogy a kód ellenőrzi a hibákat a kulcs blokk VBScript programot. Ez a kód használ err.description felmerülő hibák keletkeznek a rendszerben, majd megjeleníti őket a Status Box területén a HTA. Miután a partíció VBScript fájl HTA tartalmazza a kódot adja meg a dobozban.

Írjon HTA szkripteket.

1. lista kód HTA például az 1. ábrán
Listing 2. Töredék közüzemi Felhasználói kvóta Utility
3. lista htaexample.hta
4. lista htaexample2.hta

Kapcsolódó cikkek