Dateien speichern mit TCppWebBrowser
-
Hallo,
ich benutze den TCppWebBrowser unter BCB 5.0 Pro,
und würde gern wissen, ob es möglich ist, eine im Browser geöffnete Textdatei oder HTML-Datei zu speichern. Und wenn ja, wie sieht die Syntax dafür aus? Irgendwie finde ich keine Beispiele dafür.Danke
-
Hiermit ...
AnsiString GetHTMLSourceFromCppWebBrowser(TCppWebBrowser *WebBrowser) { AnsiString Source = ""; IHTMLDocument2 *htm = NULL; // #include <mshtml.h> if (WebBrowser->Document && SUCCEEDED(WebBrowser->Document->QueryInterface(IID_IHTMLDocument2, (LPVOID*)&htm))) { IPersistStreamInit *spPsi = NULL; // ocidl.h if(SUCCEEDED(htm->QueryInterface(IID_IPersistStreamInit, (LPVOID*)&spPsi)) && spPsi) { IStream *spStream = NULL; // objidl.h OleCheck(CreateStreamOnHGlobal(NULL, true, &spStream)); if(spStream) { __int64 nSize = 0; STATSTG ss; LARGE_INTEGER nMove; nMove.QuadPart = 0; OleCheck(spPsi->Save(spStream, true)); OleCheck(spStream->Seek(nMove, STREAM_SEEK_SET, (ULARGE_INTEGER *)&nSize)); OleCheck(spStream->Stat(&ss, STATFLAG_NONAME)); nSize = ss.cbSize.QuadPart; Source.SetLength(nSize); OleCheck(spStream->Read((void *)Source.data(), nSize, (ULONG *)&nSize)); OleCheck(spStream->Release()); } spPsi->Release(); } htm->Release(); } return Source; }
kannst du dir die geladene HTML Seite als AnsiString zurückgeben lassen,
dann müsste das speichern das geringste Problem sein.
-
Vielen Dank.