Hogyan adjunk a tételt, azaz a helyi menü

Képes felvenni a saját menüpontot a helyi menüben, IE lehetővé teszi a felhasználó testre szabni a böngészőjét „önmagában”, bővíti alkalmassága ismert módon.

Például, a site lingvo.yandex.ru tudja tölteni a modult az IE, amely lehetővé teszi, hogy a hálózaton keresztül az angol szavak angol vagy bármely kiválasztott a böngészőablakban szavak és kifejezések. Kényelmes? Kétségtelen! Jelölje ki a böngésző a megfelelő szót egy pár kattintás, és az oldal előtted a fordítást. Ezen kívül sok modulok különböző keresők (yandex.ru google.com, codeproject.com), amely lehetővé teszi, hogy gyorsan keressen megfelelő oldalakon. Továbbá, az alternatív letöltési menedzser fájlt (GetRight, FlashGet, stb) tekinti feladatának, hogy hagyjon nyomot az IE menüből.

E rövid bevezető után, azt hiszem, világossá vált, milyen alkalmazásokat lehet hasznos. Most értem -, hogyan működik. Nem a vonat a macskák, megpróbál írni olyan összetevő, amely végrehajtja a keresést mi szeretett helyet (ha valaki nem érti - RSDN.ru)

Mi ásni a rendszerleíró

Megjegyzés
Partíciók hozzáadása bankfiókban HKEY_CURRENT_USER, akkor érinti az Internet Explorer beállításait az aktuális felhasználó számára. Felvételéhez szükséges funkciókat az összes felhasználó használja a HKEY_LOCAL_MACHINE ágat.

Ne aggódjon, ha MenuExt partícióra a számítógépén hiányzik. Ez csak azt jelenti, hogy van, amíg nincs további tételeket. Általában hozzá a saját menüpontot a helyi menüben, akkor létre kell hozni egy szakasz, és egy pár paraméterek (vastagon szedve). Összefüggések és zászlók opcionális paramétereket. Jelentésük az alábbiakban ismertetjük.

Így, hozzátéve, a megadott útvonalon új kulcsot, akkor hozzon létre egy új helyi menüben. Ahogy a neve a kulcs meg kell határoznia, hogy milyen szöveg megjelenítésére használni menüket. Ön is használja a „” jel, amely meghatározza a gyorsgomb. Az alapértelmezett érték tartalmaznia kell az oldal URL-jét az, hogy a legfontosabb, amely egy script, hogy végrehajtásra kerül, ha kiválasztja ezt az elemet.

feldolgozó script

Tehát a menü hozzá, meg kell írni egy forgatókönyvet. A következő példa bemutatja, hogyan adja meg a menüpont, hogy nyit egy új ablakot a találatokat RSDN oldalon. Mivel a kereső szöveg át a kijelölt szöveget az aktív ablakban.

Keresztül menuArguments külső tulajdonság az objektum hozzáférhet az objektumhoz ablak (window), amelyben a helyi menüből hívták. Nos, ezen keresztül tárgy könnyen kap hozzáférést a teljes objektum modell interner Explorer.

Használata COM-összetevők

Miután az eljárás Run egy mutatót a window objektum, amit tehetünk, valami jó. Például megy RSDN oldalon.

Hasonló technikával, könnyű felismerni, szinte minden funkciót. Például FlashGet használ hasonló technikát végrehajtani a példány „Download segítségével FlashGet” és „Az összes letöltése”

Megjegyzés
Annak ellenére, hogy hozunk létre, és a COM-objektumot az Internet Explorer, jelölje meg a „biztonságos” (CATID_SafeForScripting, CATID_SafeForInitializing) opcionális.

kijelző háttér

Az előző példában, van hozzá saját menüt IE. Azonban, ha úgy gondolja, a mi elem kijelző nem mindig bölcs. Például értelmetlen adni a parancsot „RSDN Search” válaszul shelchok jobb klikk a képre, vagy ActiveX-vezérlő. Ezért van értelme, hogy meghatározza a keretében a kijelző menüpont, azaz tájékoztatja az IE, hogy mikor jelenjenek meg a tételt, és hol nem. Ezt meg lehet tenni úgy, hogy a szakasz „RSDN Search” opcionális környezetben.

Kontextusok paraméter tartalmazza az azonosítót a helyi menü, amely meghatározza, válaszul milyen intézkedést danyj megjelenítő elem. Bitenkénti kombinációja az alábbi lehetőségek közül.

Például, ha azt akarjuk, hogy elem csak akkor jelenik meg a link, illetve jelenlétében a kiválasztás, szükséges regisztrálni környezetek paraméter értéke 0x30 (0x10 | 0x20).

modális mód

Kérj meg egy másik opcionális paraméter - Flags = 0x1. akkor erőt IE A script a modális módban. Ugyanakkor, létrehozta a párbeszéd nem lehet rejtett, és a szkript indul ezzel a kihívással ShowModalDialog módszer. Ahhoz, hogy a kezdő képernyő, akkor is alkalmazni keresztül external.menuArguments. Ügyeljünk arra, hogy bezárja a párbeszédablakot, ebben az esetben lesz saját.

Annak igazolására, ezt a folyamatot működés közben, bonyolítja az első példa. Adjunk a felhasználó képes szerkeszteni a szöveget a keresésnek. Ehhez hozzon létre egy egyszerű HTML-párbeszéd következő.

esemény információ

Ihlette a létrehozását a korábbi példákban, majdnem elfelejtettem, hogy meséljek egy másik hasznos szolgáltatása.

Amikor kiválaszt egy menüpontot, esemény forrás objektum ablak (external.menuArguments.event) tartalmaz néhány hasznos információt, hogy lehet használni egy forgatókönyvet. Például, egy tárgy, amelyen kattintott, lehet beszerezni a tulajdonságok event.srcElement. A event.type tulajdonság tartalmazza az alábbi sorokat, amelyek meghatározzák, hogy milyen típusú a megjelenő menüben:

  • MenuExtDefault
  • MenuExtImage
  • MenuExtControl
  • MenuExtTable
  • MenuExtTextSelect
  • MenuExtAnchor
  • MenuExtUnknown

Ezt az információt felhasználva, akkor végre a saját (más mint a többi) a viselkedés különböző típusú előugró menüben.

Példák

Annak igazolására, a fenti, ad négy példa:

  1. RSDN Keresés keresés script az Ön által választott szöveget
  2. RSDN Search2 HTML-párbeszéd Site Search
  3. Goto RSDN! COM-objektum, amely megvalósítja az átmenet RSDN.ru
  4. RSDN Keresés COM objektum, amely végrehajtja a keresést a kiválasztott fragmentum

Az 1. és 2. példák tartalmazzák script WSH (Windows Script Host) megszünteti a kézi ásás a registry-ben. Új elem csak futni install.vbs fájlt. Győződjön meg arról, hogy a szkript fájlokat könyvtárakat helyes:

A harmadik példa, kiegészítve a megfelelő menüpont jelentkezik egyidejűleg a regisztrációs COM-objektumokat, így futtatni más szkripteket van szükség. Csak arról, hogy GoRSDN.dll.htm szkript ugyanabban a könyvtárban, mint a GoRSDN.dll.

Megjegyzés
Valószínűleg észrevette a furcsa szkript nevét - GoRSDN.dll.htm. Sajnos, ez annak köszönhető, hogy a működési igényeinek. Registry programozási nyelv ATL (RGS - Registry Script) támogat egy egyszerű és elegáns módja annak, hogy kommunikálni a registry. Ahhoz, hogy adja meg a fájl helyét c COM-objektumot, akkor egy előre definiált helykitöltő -% module%. Amikor hívás regisztrációs funkció, ez a címke helyébe az eredmény GetModuleFileName függvényhívás. Lehetőség van saját helyőrzők. Azonban ebben az esetben teheti könnyebbé, az írás RGS-fájl a következő: „% module% .htm”. Ugyanakkor, mivel a script URL-jét fogja meg az utat, hogy a fájl GoRSDN.dll.htm. Mi ténylegesen szükség van.

Egy elegáns megoldás a problémára kínált Alexei Kiryushkin. Ő bemutatott módon a negyedik példát. Mi használjuk a tény, hogy az Internet Explorer képes betölteni HTM-oldal erőforrás. Ebben az esetben, akkor importálni egy script az erőforrás DLL tartalmaz COM-objektumot. Ebben az esetben a megfelelő RGS-script nézne ki:

Itt a "GORSDN.DLL.HTM" - a szöveges erőforrás azonosítót htm-script a DLL.

Kapcsolódó cikkek