AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Browser Helper Object (BHO): Menu im InternetExplorer
Thema durchsuchen
Ansicht
Themen-Optionen

Browser Helper Object (BHO): Menu im InternetExplorer

Ein Thema von hawe · begonnen am 23. Sep 2006 · letzter Beitrag vom 25. Sep 2006
Antwort Antwort
hawe

Registriert seit: 3. Dez 2004
2 Beiträge
 
Delphi 6 Professional
 
#1

Browser Helper Object (BHO): Menu im InternetExplorer

  Alt 23. Sep 2006, 14:28
Hi!

Ich habe ein Programm gesehen, dass in jeder Instanz des IE ein Menu direkt rechts neben dem "?" (also auf oberster Menuebene) einfügt und über die Untereinträge bestimmte Webseiten aufruft. Das wurde mit einem BHO erreicht, und ich habe hier herausgefunden, wie man ein solches in Delphi schreibt:
http://www.bsalsa.com/ie_tools_bho.html

Wie ich nun aber ein Menu hinzufügen könnte bzw. auf deren Klicks reagieren könnte, weiß ich noch nicht. Ich habe einen kleinen Hinweis gefunden, das ich evtl. das IDocHostUIHandler Interface implementieren muß:
http://www.experts-exchange.com/Prog..._20304590.html

Oder kann ich etwas mit dem Handle (HWND) des Browserfensters anfangen?

Besten Dank für eure Hilfe.
  Mit Zitat antworten Zitat
hawe

Registriert seit: 3. Dez 2004
2 Beiträge
 
Delphi 6 Professional
 
#2

Re: Browser Helper Object (BHO): Menu im InternetExplorer

  Alt 25. Sep 2006, 21:58
Hallo,

mittlerweile habe ich das Interface IDocHostUIHandler implementiert und unter ShowUI es sogar geschafft an den Menus rumzuspielen. Wie aber kann ich die alten Menupunkte behalten und einfach was neues hinzufügen? Vllt. könnt ihr es mal ausprobieren, Anhang liegt bei.

Delphi-Quellcode:
   
var mgw: tagOleMenuGroupWidths;
  li: TMenuItem;
  mdesc: HMENU;
begin
  pframe.InsertMenus(HelperForm.MainMenu1.Handle, mgw);

  mdesc := OleCreateMenuDescriptor(HelperForm.MainMenu1.Handle, mgw);
  pFrame.SetMenu(HelperForm.MainMenu1.Handle, mdesc, HelperForm.Handle);


  Result := S_OK;
Nach dem Kompilieren die CLSID registrieren, z.B. Registry-Einträge hinzufügen:

Zitat:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{FCADDC1 4-BD46-408A-9842-CDBE1C6D37EB}]

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\explorer\Browser Helper Objects\{FCADDC14-BD46-408A-9842-CDBE1C6D37EB}

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{FCADDC1 4-BD46-408A-9842-CDBE1C6D37EB}\InprocServer32]
@="pfad\zur\DLL"
"ThreadingModel"="Apartment"
Besten Dank.
Angehängte Dateien
Dateityp: zip bho_188.zip (32,7 KB, 16x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz