Browserintegration? ActiveX oder InternetSession?
-
Hi zusammen!
In einer kleinen Lernanwendung für mich würde ich gerne verschiedene
HTTP-Seiten die ich darin "ansurfe" ausgeben. Da stellt sich mir nun die
Frage wie ich dies am besten löse.Ich muss zudem den Quellcode (html) der Seite in meiner MFC-Anwendung auslesen
können um den Inhalt weiterbearbeiten zu können.Es gibt das Browsercontrol (oder ActiveX?), das afaik nur funktioniert, wenn man den IE
installiert hat. Dort gibt es die Funktion Navigate(). So weit wäre ich dann
schon mit der Recherche. Jedoch bleibt die Frage wie ich dann den html-Code auslesen kann.Zweite Option ist, das mit CInternetSession aufzurufen. Das habe ich noch
nicht ganz verinnerlicht. Denn...wie stelle ich die Inhalte der Session in html dar?
Gibt es dafür extra Elemente, die HTML in einer einfachen dialogbasierten Anwendung darstellen?Könnt ihr mir hier bitte den notwendigen Denkanstoss liefern?
-
1. IWebBrwoser2 unterstützt eine Document Methode. Über die kommst DU an alles was Du willst.
Schau Dir mal dieses Sample an
http://www.codeproject.com/KB/miscctrl/simplebrowserformfc.aspx2. Wenn Du CInternetSession verwendest musst Du mehroder weniger selber die Darstellung übernehmen oder wieder zum IE ActiveX greifen.
Vielleicht gibt es noch andere Produkte, aber die nutze ich nicht.
-
Hallo Martin,
ich habe inzwischen beides ausprobiert und beides funktioniert so wie ich
es mir erhofft habe. Danke.Nun bin ich bei einem anderen Problem gelandet und hoffe ihr könnt mir hier
auch auf die Sprünge helfen.Wenn ich mir einen Link zusammenbaue der u.a. eine Nachricht übermittelt,
dann sollte das so aus aussehen (die Umlaute etc. betreffend):Der Dargestellte Text auf der anderen Seite wäre dann:
Äußerliches
Öffentliches
fleißiges
unfassbar verkettetes mit - bindestrichen
"mit anführungszeichen"
ein satz mit, kommazeichen und ausrufezeichen!
ein fraegzeichen? oder?Diese ganzen Ersatzzeichen z.B. das Ä als %C3%84, wie bekomme ich das
in meinem CString schon ersetzt? Ich meine man wird zwar .replace verwenden,
aber muss ich mir wirklich die ganze Tabelle (UTF8??) selbst in diverse
.replace packen?Schon mal Entschuldigung wenns eine totale noob Frage ist
-
Du musst Dir Deinen eigenen Parser bauen. Du wirst nicht drum herum kommen.
Vom OS wüsste ich da keine Hilfe...Aber vielleicht weiß jemand anderes ein fertiges Projekt.