摘要:如何使用C#將網頁存成完整封裝檔 (.mht 檔)
有時候會想要將某些網頁存起來,但是又懶得一個一個點進去另存新檔 (宅男專用),
這時候就會想要有個很棒的小工具來做這種非常 routine 的事情,但是又找不到...... = ="
最近剛好在MSDN上面回了一篇,想說以前找不到的小工具現在自己把它做出來好了~
以下是實作的步驟:
1. 新建一個專案,並且加入 CDO 的參考
2. 打開專案的屬性,將「目標 Framework」改為 .NET Framework 3.5,且將「平台目標」改為 x86
3. 在設計檢視裡面丟幾個控制項如下
4. 點兩下「存檔」的按鈕以編寫其 Click Event Handler 如下
private void button1_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.textBox1.Text)) { DialogResult saveFileResult = this.saveFileDialog1.ShowDialog(this); if (saveFileResult == System.Windows.Forms.DialogResult.OK) { CDO.Message msg = new CDO.MessageClass(); CDO.Configuration cfg = new CDO.ConfigurationClass(); msg.Configuration = cfg; msg.CreateMHTMLBody(this.textBox1.Text, CDO.CdoMHTMLFlags.cdoSuppressAll, "", ""); msg.GetStream().SaveToFile(this.saveFileDialog1.FileName, ADODB.SaveOptionsEnum.adSaveCreateOverWrite); } } }
到這邊就完工囉,不過請不要拿來惡搞,謝謝...... = ="
完整專案檔在這邊:WindowsFormsApplication2.rar
原本回答的問題在這邊:save an entire website to mht using C# and Trident engine