Board index » cppbuilder » Saving a Web Page from TCcpbrowser without a dialog
murone
![]() CBuilder Developer |
Saving a Web Page from TCcpbrowser without a dialog2005-03-24 11:24:44 PM cppbuilder84 I am trying to save a Web page from tccpbrowser. If I use the code below, it works fine, but explorer handles it and pops up a dialog box. I also have code below that which will display the source, and then can be saved. My question is how do I save the complete page to include images, without showing a dialog box to the user? Thanks, ba PROMPTS USER WITH DIALOG BOX: AnsiString FileName = ExtractFilePath ( ParamStr (0) ) + "ExecWB.OLECMDID_SAVEAS.html"; char filename [MAXPATH]; strcpy ( filename, FileName.c_str() ); TVariant Variant = filename; CppWebBrowser1->ExecWB( Shdocvw_tlb::OLECMDID_SAVEAS, Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT, &Variant ); DISPLAYS HTML SOURCE: AnsiString Source = ""; IHTMLDocument2 *htm = NULL; // #include <mshtml.h> if(CppWebBrowser1->Document&&SUCCEEDED(CppWebBrowser1->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(); } |