Comment enregistrer une page web en mht comme le fait internet explorer ?
Bonjour,
J'ai lu 2 articles a ce sujet a http://social.msdn.microsoft.com/For...2-218b5364fff4. ( J'utilises leurs methodes). J'ai lu aussi http://social.msdn.microsoft.com/for...-11a5d16f458c/ .
Malheureusement cette methode pour sauvegarder une page web en mht est incomplete. Il manque tout le temps des css file et aussi des images parfois.
Par exemple je n'ai pas de css file www.microsoft.com, www.figaro.fr et pratiquement tous les sites internet ! Pourquoi ?
Voici le code que j'utilise :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
public void Save(SaveContext context)
{
try
{
CDO.Message iMessage = new CDO.Message();
iMessage.MimeFormatted = true;
iMessage.CreateMHTMLBody(context.url, CDO.CdoMHTMLFlags.cdoSuppressNone, "", "");
ADODB.Stream adodbstream = new ADODB.Stream();
adodbstream.Type = ADODB.StreamTypeEnum.adTypeText;
adodbstream.Charset = Constants.UsasciiString;
adodbstream.Open(Type.Missing, (ConnectModeEnum)0, StreamOpenOptionsEnum.adOpenStreamUnspecified, "", "");
iMessage.DataSource.SaveToObject(adodbstream, Constants.StreamString);
adodbstream.SaveToFile(context.filepath, ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
}
catch (Exception ex)
{
MessageBox.Show(Constants.MsgFailedSavingWebPage + context.url + ex.Message, Constants.MsgTitle,
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
} |
Merci,