線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1678
推到 Plurk!
推到 Facebook!

用BCB如何存成MHT檔? 像IE可以將某網站封存成 .MHT 檔?

缺席
yuhwang
一般會員


發表:4
回覆:1
積分:1
註冊:2003-05-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-19 03:22:55 IP:211.76.xxx.xxx 未訂閱
用BCB如何存成MHT檔? 像IE可以將某網站封存成 .MHT 檔? 有爬一些文章~ 但大部份都是DELPHI的~ 想試看看BCB怎麼弄~ 但研究不出來 ~__~    煩請指點一下~ 給個SAMPLE CODE. 有在網路上找到以下程式碼 但無法編譯~ 會出錯!     
#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,
            CLSCTX_INPROC_SERVER, __uuidof(IMessage), (void**)&pMsg);
    hr = CoCreateInstance(
       __uuidof(Configuration),
       NULL,
       CLSCTX_INPROC_SERVER,
       __uuidof(IConfiguration),
       (void**)&pConfig);        pMsg->put_Configuration(pConfig);
    try
    {
        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"));
}     
系統時間:2024-04-25 11:58:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!