如何把一个网页存为一个单独的mht文档

2008-02-23 05:38:09来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

#include "SHDocVw_OCX.h"
#include "cdoex.h"
#include "msado15.h"
using namespace CDO;
// 本文是ccrun(老妖)根据相关资料改的,在BCB 6.0 下成功编译并测试通过.
// 假如有不能正常运行的,可能需要在机器上安装有outlook.
void __fastcall SaveWholePage(BSTR bstrUrl, BSTR bstrFileName)
{
CoInitialize(NULL);
IMessage *pMsg;
IConfiguration *pConfig;
HRESULT hr = CoCreateInstance(__uuidof(Message), NULL,
// 本文转自 C Builder 研究 - http://www.ccrun.com/article.asp?i=615&d=l77p38
CLSCTX_INPROC_SERVER, __uuidof(IMessage), (void**)&pMsg);
hr = CoCreateInstance(
__uuidof(Configuration),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IConfiguration),
(void**)&pConfig);

pMsg->put_Configuration(pConfig);
try<br>
{
pMsg->CreateMHTMLBody(
bstrUrl,
cdoSuppressNone,
WideString(""),
WideString(""));
}
catch(...)
{
ShowMessage("有错误发生!");
return;
}
ADOStream *pStream;
pMsg->GetStream(&pStream);
pStream->SaveToFile(bstrFileName, adSaveCreateOverWrite);
pMsg->Release();
pStream->Release();
CoUninitialize();
}
// 调用举例:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SaveWholePage(WideString("http://www.ccrun.com"),
WideString("C:\\123.mht"));
}




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 利用Shell对象控制Windows系统

下一篇: 获取WinNT/Win2k当前用户名和密码

热门词条
热门标签