Fragen zu Entwicklung von BHO (Browser Helper Object)
versuche ein BHO zu schreiben, verstehe zwar die grundlegenden Punkte, bin aber leider (noch) kein versierter Programmierer für windows
ich möchte mich mit der Entwicklung von BHOs beschäftigen und bin da gerade am Anfang.
Hab gegooglet, aber noch nicht den richtigen Hinweis, Anleitung für mich gefunden.
unter Browser Helper Objects: The Browser the Way You Want It hab ich zwar eine Anleitung gefunden, verstehe auch die notwendigen Schritte, weiß sie allerdings nicht in C++ umzusetzen.
kann mir da bitte jemand Hinweise, Anregungen, Tipps, Links, ... geben?
ich habe auch schon ein "fertiges" Skelet für meine DLL.
Lässt sich auch problemlos compilieren und als BHO registrieren.
Als test-BHO möchte ich einfach mal die eingegebene URL auslesen und ausgeben/abspeichern.
ich habe 2 functions:
wenn ich den MS-Artikel richtig verstehe, dann wird SetSite() immer aufgerufen, dort bekomme ich einen Pointer auf IWebBrowser2 zurück, danach brauch ich einen Pointer um einen event listener zu registrieren.
Bei einem Event wird dann Invoke() aufgerufen, wobei ich dort je nach Event verschiedene Actions setzen kann (zB Abspeichern der URL).
nur jetzt weiß ich nicht mehr weiter
ist das soweit richtig von mir?
thx.
jürgen
ich möchte mich mit der Entwicklung von BHOs beschäftigen und bin da gerade am Anfang.
Hab gegooglet, aber noch nicht den richtigen Hinweis, Anleitung für mich gefunden.
unter Browser Helper Objects: The Browser the Way You Want It hab ich zwar eine Anleitung gefunden, verstehe auch die notwendigen Schritte, weiß sie allerdings nicht in C++ umzusetzen.
kann mir da bitte jemand Hinweise, Anregungen, Tipps, Links, ... geben?
ich habe auch schon ein "fertiges" Skelet für meine DLL.
Lässt sich auch problemlos compilieren und als BHO registrieren.
Als test-BHO möchte ich einfach mal die eingegebene URL auslesen und ausgeben/abspeichern.
ich habe 2 functions:
STDMETHODIMP CMySpyware::SetSite(IUnknown *pUnkSite)
{
CComQIPtr<IWebBrowser2, &IID_IWebBrowser2> m_spWebBrowser2;
CComQIPtr<IConnectionPointContainer,
&IID_IConnectionPointContainer> m_spCPC;
// Retrieve and store the IWebBrowser2 pointer
m_spWebBrowser2 = pUnkSite;
if (m_spWebBrowser2 == NULL)
return E_INVALIDARG;
// Retrieve and store the IConnectionPointerContainer pointer
m_spCPC = m_spWebBrowser2;
if (m_spCPC == NULL)
return E_POINTER;
return S_OK;
}
STDMETHODIMP CMySpyware::Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags,
DISPPARAMS* pDispParams, VARIANT* pvarResult,
EXCEPINFO* pExcepInfo, UINT* puArgErr)
{
// open file?
switch (dispidMember)
{
case DISPID_BEFORENAVIGATE:
break;
case DISPID_NAVIGATECOMPLETE2:
break;
}
// write string to file?
// close file?
return S_OK;
}
wenn ich den MS-Artikel richtig verstehe, dann wird SetSite() immer aufgerufen, dort bekomme ich einen Pointer auf IWebBrowser2 zurück, danach brauch ich einen Pointer um einen event listener zu registrieren.
Bei einem Event wird dann Invoke() aufgerufen, wobei ich dort je nach Event verschiedene Actions setzen kann (zB Abspeichern der URL).
nur jetzt weiß ich nicht mehr weiter
ist das soweit richtig von mir?
thx.
jürgen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 19277
Url: https://administrator.de/contentid/19277
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
4 Kommentare
Neuester Kommentar
| CMySpyware
wir brauchen mehr spyware, auf jeden.
wir brauchen mehr spyware, auf jeden.
du sollst doch nich klauen. was will er den eigentlich für nen bho machen.