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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 19277
Url: https://administrator.de/contentid/19277
Printed on: April 24, 2024 at 11:04 o'clock
4 Comments
Latest comment
| 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.