HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Internet Explorer gyorsmenüjének kiegészítése


Példaprogram letöltése

6926 bájt

Amikor a böngésző kliens területén jobb egér gombbal kattintunk, akkor megjelenik egy gyors menü. Ebbe a menübe felvehetünk saját menüpontokat is, melyekhez saját alkalmazásokat rendelhetünk.
E példában egy olyan menüpontot hozunk létre, melyet kiválasztva a programunk kigyűjti az aktuálisan látható web oldalon lévő összes linknek a cél címét. Ettől kezdve már csak egy lépés, hogy a programot továbbfejlesztve az összes linken lévő adat letöltésre kerüljön. Így például készíthetünk olyan menüpontot, melyet kiválasztva az adott web oldalon lévő összes link egyetlen kattintással letölthető.

A mellékelt példa használatához a következő lépésekre van szükség: a mellékelt Reg.reg állományban lévő elérési utat módosítsa úgy, hogy az az Alllinks.htm állományra mutasson, majd mentse és zárja be az állományt és adja hozzá Windows regisztrációs adatbázisához. Ezt követően fordítsa le a mellékelt projektet és egyszer futtassa is, hogy a program automatikus regisztrációja is megtörténjen a Windows regisztrációs adatbázisba. Ezt követően indítson el egy böngészőt. Ha van betöltött web oldal, akkor annak területén kattintson jobb egér gombbal és válassza a Minden hivatkozás menüpontot. Ennek hatására elindul a példaprogram, mely kigyűjti az adott oldalról az összes link által megcímzett URL-t.
A gyorsmenü kiegészítése
Az IE gyorsmenüjét egy egyszerű Windows regisztrációs adatbázis bejegyzéssel tudjuk bővíteni. Ha a \Software\Microsoft\Internet Explorer\MenuExt\ kulcs alá elhelyezünk egy újabbat, akkor az automatikusan megjelenik. Az új bejegyzéshez azonban csak egy HTML állományt rendelhetünk hozzá.
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Minden hivatkozás]
@="file://F:\\So\\Dso\\0425\\IELinks\\alllinks.htm"
Ebben a HTML állományban azonban bármi lehet, így akár egy VB script is, amivel már tudjuk aktivizálni saját alkalmazásunkat és ott bármit megtehetünk.
A szükséges HTML állomány
Nézzük mi is található a HTML állományunkban, mely akkor kerül betöltésre, ha kiválasztjuk a böngészőben a Minden hivatkozás menüpontot.
<script language="VBScript">
Létrehozunk egy kapcsolatot a programunkkal.
  Set ielink = CreateObject("IELinksProject.IELinkAutoObject")
Majd lekérdezzük az aktuális web oldalon található linkek kollekcióját egy változóba.
  Set links = external.menuArguments.document.links
Végigmegyünk ezen a kollekción és meghívjuk alkalmazásunk Add függvényét, melynek paraméterként átadjuk az adott link által mutatott URL címet. Vagyis azt a sztringet, mely a HTML kód <a> tagjának href paraméterében van megadva.
  For i = 0 to links.length - 1
    ielink.Add links(i).href
  next
Végül meghívjuk alkalmazásunk Show függvényét, annak érdekében, hogy az elkészült lista megtekinthető legyen.
  ielink.Show
</script>
Az alkalmazás elkészítése
Hozzunk létre egy hagyományos projektet, mely EXE-t készít, majd válasszuk az File - New menüpontot és a megjelenő ablakban az ActiveX lapon az Automation Object elemet. CoClassName-nek válasszuk az IELinkAutoObject nevet.
A létrejövő IELinksProject_TLB ablakában válasszuk a New Method menüpontot. Ekkor létrejön egy új függvény, melynek adjuk az Add nevet. A Parameters lapon adjunk hozzá egy új paramétert, melynek neve legyen Link és típusát válasszuk BSTR-re.
Hozzunk létre most egy Show nevű függvényt is, melyhez nem kell paraméter.
Ezek után kattintsunk a Refresh Implementation gombra. Ekkor a Unit2.pas-ban létrejön e két függvény kerete, így nekünk már csak a szükséges kódot kell megadni.
Ez előtt a Form1-re még tegyünk fel egy ListBox-ot. Ebbe gyűjtjük majd a linkeket.
Az Add eljárás kódja egyszerű: a VB script ezt akkor hívja meg, amikor egy-egy linket át akar adni, így nincs más teendőnk, mint a kapott sztringet hozzáadni a ListBox-hoz.
procedure TIELinkAutoObject.Add(const Link: WideString);
begin
  Form1.ListBox1.Items.Add(Link);
end;
A Show eljárásban megjelenítünk egy dialóg ablakot. Erre azért van szükség, mert a VB script lefutása után a projektünk is bezáródna, így nem látnánk semmit a linkekből.
procedure TIELinkAutoObject.Show;
begin
  ShowMessage('Bezárás');
end;
A továbbfejlesztés
Most hogy már adott egy web lapon szereplő összes link, már csak egy egyszerű lépés, hogy programunkat továbbfejlesszük abba az irányba, hogy le is töltse ezeket a linkeken található információkat, állományokat. Ennek megvalósításával pedig elérhetjük azt, hogy egy-egy web oldalon lévő összes letölthető állományt egyetlen kattintással letöltsünk saját gépünkre.
Megjegyzés
A program elkészülte után ne felejtsük el egyszer futtatni, hogy Windows regisztrációs adatbázisba bekerüljön a megfelelő hivatkozás, mivel csak így tudjuk majd script-ből a CreateObject("IELinksProject.IELinkAutoObject") hivatkozással elindítani a programot.

Cikksorozat

#IDKategóriaCikk címeSorozat
1488DelphiMS SQL tárolt eljárások1. rész
1499DelphiMS SQL tárolt eljárások2. rész
1507DelphiMS SQL tárolt eljárások3. rész
1519DelphiMS SQL tárolt eljárások4. rész
1526DelphiMS SQL tárolt eljárások5. rész
1537DelphiMS SQL tárolt eljárások6. rész
1546DelphiMS SQL tárolt eljárások7. rész
1553DelphiMS SQL tárolt eljárások8. rész
1564DelphiMS SQL tárolt eljárások9. rész
1573DelphiMS SQL tárolt eljárások10. rész
1582DelphiMS SQL tárolt eljárások11. rész
1591DelphiMS SQL tárolt eljárások12. rész
1600DelphiMS SQL tárolt eljárások13. rész
1609DelphiMS SQL tárolt eljárások14. rész
1617DelphiMS SQL tárolt eljárások15. rész
1626DelphiMS SQL tárolt eljárások16. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 371. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |