ketchup
Goto Top

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 face-wink

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 face-sad
ist das soweit richtig von mir?

thx.
jürgen

Content-ID: 19277

Url: https://administrator.de/contentid/19277

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

13100
13100 08.11.2005 um 14:55:42 Uhr
Goto Top
| CMySpyware

wir brauchen mehr spyware, auf jeden.
ketchup
ketchup 08.11.2005 um 15:03:39 Uhr
Goto Top
der class-name ist von einem code im inetz geklaut face-wink
13100
13100 08.11.2005 um 16:12:03 Uhr
Goto Top
du sollst doch nich klauen. was will er den eigentlich für nen bho machen.
ketchup
ketchup 08.11.2005 um 17:07:23 Uhr
Goto Top
du sollst doch nich klauen. was will er den
eigentlich für nen bho machen.

war ja nur abgeschaut face-wink
möchte mich etwas mit dem aufbau vom IE beschäftigen. und natürlich auch was er alles kann oder nicht kann *gg*

zum kennenlernen möchte ich halt mal ein einfaches BHO schreiben, welches zB auf die eingabe einer URL reagiert und mir die aufgerufene URL einfach wo ausgibt oder abspeichert.
an so komplizierte dinge wie DOM oder so will ich im moment noch gar nicht denken *gg*

kannst du mir vielleicht gute anhaltspunkte geben?

jürgen