百分求解:如何把这段代码改为Delphi的代码,多谢(100分)

  • 主题发起人 主题发起人 tomol
  • 开始时间 开始时间
T

tomol

Unregistered / Unconfirmed
GUEST, unregistred user!
Do you ever want to save a web page into one single file, including pictures and text? You can use IE SaveAs command, but the drawback is obvious, the Save As dialog is always shown up for security reason. There is a complicated work around to avoid the Save As dialog (see Automated IE SaveAs MHTML). Here I show you an easy way to do it:

#import "c:/program files/common files/system/ado/msado15.dll" _
no_namespace rename("EOF", "EndOfFile")
#import no_namespace rename("EOF", "EndOfFile")

...

void SaveWholePage(LPCTSTR page_url,LPCTSTR save_filename)
{
CoInitialize(NULL);
{
IMessagePtr iMsg(__uuidof(Message));
IConfigurationPtr iConf(__uuidof(Configuration));
iMsg->Configuration = iConf;
try
{
iMsg->CreateMHTMLBody(
page_url,
cdoSuppressNone,
"domain//username",
"password");
}
catch(_com_error err)
{
// handle exception
}
_StreamPtr pStream=iMsg->GetStream();
pStream->SaveToFile( save_filename,
adSaveCreateOverWrite);
}
CoUninitialize();
}
 
procedure SaveWholePage(LPCTSTR page_url;PCTSTR save_filename);
var
iMsg:IMessagePtr;
iConf:IConfigurationPtr;
pStream:_StreamPtr;
begin
CoInitialize();
iMsg.Configuration= iConf;
try
iMsg.reateMHTMLBody(
page_url,
cdoSuppressNone,
"domain//username",
"password");
Except
on Errore

// handle exception
end;
pStream =iMsg.getstream();
pStream.saveToFile( save_filename,
adSaveCreateOverWrite);

CoUninitialize();
end;

没有测试,你看着改一下吧
 
IMessagePtr等这些类型在哪个文件里面?
 
没有高手能回答这些问题吗?
 
分数不够,可以再加,请高手帮帮忙呀
 
后退
顶部