Links in CppWebBrowser auslesen
-
Hallo,
ich habe mir gerade den Code angesehen von Bytes & More zum Auslesen der Links. Jetzt wollte ich das ganze noch erweitern, dass er nicht nur die Linkadresse ausliest (get_href) sondern auch noch die Aufschrift des Links.
Weiß jemand von euch wie das geht. Hab schon bei MSDN nachgesehen. Da gibt es aber so viel, dass ich wirklich nicht weiß, was das Richtige ist.
Danke für die Hilfe!
Code von Bytes & More:
//--------------------------------------------------------------------------- // Funktion ExtractLinks() extrahiert alle Links der übergebenen // IHTMLDocument2-Instanz in die TStrings-Instanz //--------------------------------------------------------------------------- // Übergabeparameter: // // IHTMLDocument2* pHTMLDocument : Zeiger auf die IHTMLDocument2-Instanz // TStrings* pStrings : Zeiger auf die TStrings-Instanz für die // Ausgabe der Linkliste //--------------------------------------------------------------------------- void ExtractDocumentLinks(IHTMLDocument2* pHTMLDocument, TStrings* pStrings) { if(pHTMLDocument) { IHTMLElementCollection *pAnchors = NULL; if(SUCCEEDED(pHTMLDocument->get_all(&pAnchors))) { long ilHrefCount = 0; if(SUCCEEDED(pAnchors->get_length(&ilHrefCount))) { for(long ilHrefIndex = 0; ilHrefIndex < ilHrefCount; ilHrefIndex++) { VARIANT vIndex; vIndex.vt = VT_I4; vIndex.lVal = ilHrefIndex; IDispatch *pItem = NULL; pAnchors->item(vIndex, vIndex, &pItem); if(pItem != NULL) { IHTMLAnchorElement *pAnchor = NULL; if(SUCCEEDED(pItem->QueryInterface(IID_IHTMLAnchorElement, (LPVOID*)&pAnchor))) { BSTR bURL; if(SUCCEEDED(pAnchor->get_href(&bURL)) && pStrings->IndexOf(AnsiString(WideString(bURL))) < 0 && AnsiString(WideString(bURL)).Trim() != EmptyStr) pStrings->Add(AnsiString(WideString(bURL))); //--->Hier müsste es dazu: pAnchor->get_??? pAnchor->Release(); } pItem->Release(); } } } pAnchors->Release(); } } } //---------------------------------------------------------------------------