Imports System.IO Imports System.Text.RegularExpressions ''' <remarks> ''' Jeff Atwood ''' http://www.codinghorror.com/ ''' </remarks> Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call TextEncodingComboBox.SelectedIndex = 0 MemoryRadioButton.Checked = True BrowserIdTextBox.Text = _mht.BrowserIdString End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents TabControl1 As System.Windows.Forms.TabControl Friend WithEvents TabPage1 As System.Windows.Forms.TabPage Friend WithEvents TabPage2 As System.Windows.Forms.TabPage Friend WithEvents TabPage3 As System.Windows.Forms.TabPage Friend WithEvents TabPage4 As System.Windows.Forms.TabPage Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents CompleteFileTextBox As System.Windows.Forms.TextBox Friend WithEvents HtmlFileTextBox As System.Windows.Forms.TextBox Friend WithEvents TextFileTextBox As System.Windows.Forms.TextBox Friend WithEvents ViewCompleteButton As System.Windows.Forms.Button Friend WithEvents ViewHtmlButton As System.Windows.Forms.Button Friend WithEvents SaveHtmlButton As System.Windows.Forms.Button Friend WithEvents ViewTextButton As System.Windows.Forms.Button Friend WithEvents SaveTextButton As System.Windows.Forms.Button Friend WithEvents BuildFileButton As System.Windows.Forms.Button Friend WithEvents IFrameCheckBox As System.Windows.Forms.CheckBox Friend WithEvents ScriptCheckBox As System.Windows.Forms.CheckBox Friend WithEvents Label7 As System.Windows.Forms.Label Friend WithEvents TextEncodingComboBox As System.Windows.Forms.ComboBox Friend WithEvents TabControl2 As System.Windows.Forms.TabControl Friend WithEvents TabPage5 As System.Windows.Forms.TabPage Friend WithEvents TabPage6 As System.Windows.Forms.TabPage Friend WithEvents ViewMhtButton As System.Windows.Forms.Button Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents MhtFileTextBox As System.Windows.Forms.TextBox Friend WithEvents BuildMhtButton As System.Windows.Forms.Button Friend WithEvents MemoryRadioButton As System.Windows.Forms.RadioButton Friend WithEvents DiskTempRadioButton As System.Windows.Forms.RadioButton Friend WithEvents Label6 As System.Windows.Forms.Label Friend WithEvents DiskPermRadioButton As System.Windows.Forms.RadioButton Friend WithEvents BuildMhtMemoryButton As System.Windows.Forms.Button Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox Friend WithEvents ViewUrlButton As System.Windows.Forms.Button Friend WithEvents UrlTextBox As System.Windows.Forms.TextBox Friend WithEvents ProxyAuthCheckBox As System.Windows.Forms.CheckBox Friend WithEvents AuthCheckBox As System.Windows.Forms.CheckBox Friend WithEvents ProxyUrlTextBox As System.Windows.Forms.TextBox Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents ProxyUserTextBox As System.Windows.Forms.TextBox Friend WithEvents ProxyPasswordTextBox As System.Windows.Forms.TextBox Friend WithEvents Label8 As System.Windows.Forms.Label Friend WithEvents Label9 As System.Windows.Forms.Label Friend WithEvents Label10 As System.Windows.Forms.Label Friend WithEvents Label11 As System.Windows.Forms.Label Friend WithEvents AuthPasswordTextBox As System.Windows.Forms.TextBox Friend WithEvents AuthUserTextBox As System.Windows.Forms.TextBox Friend WithEvents Label12 As System.Windows.Forms.Label Friend WithEvents Label13 As System.Windows.Forms.Label Friend WithEvents RecursionCheckBox As System.Windows.Forms.CheckBox Friend WithEvents BrowserIdTextBox As System.Windows.Forms.TextBox Friend WithEvents Label14 As System.Windows.Forms.Label <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.Button1 = New System.Windows.Forms.Button Me.TabControl1 = New System.Windows.Forms.TabControl Me.TabPage1 = New System.Windows.Forms.TabPage Me.TabControl2 = New System.Windows.Forms.TabControl Me.TabPage5 = New System.Windows.Forms.TabPage Me.ViewMhtButton = New System.Windows.Forms.Button Me.Label2 = New System.Windows.Forms.Label Me.MhtFileTextBox = New System.Windows.Forms.TextBox Me.BuildMhtButton = New System.Windows.Forms.Button Me.MemoryRadioButton = New System.Windows.Forms.RadioButton Me.DiskTempRadioButton = New System.Windows.Forms.RadioButton Me.Label6 = New System.Windows.Forms.Label Me.DiskPermRadioButton = New System.Windows.Forms.RadioButton Me.TabPage6 = New System.Windows.Forms.TabPage Me.BuildMhtMemoryButton = New System.Windows.Forms.Button Me.TabPage3 = New System.Windows.Forms.TabPage Me.ViewHtmlButton = New System.Windows.Forms.Button Me.Label4 = New System.Windows.Forms.Label Me.HtmlFileTextBox = New System.Windows.Forms.TextBox Me.SaveHtmlButton = New System.Windows.Forms.Button Me.TabPage2 = New System.Windows.Forms.TabPage Me.ViewCompleteButton = New System.Windows.Forms.Button Me.BuildFileButton = New System.Windows.Forms.Button Me.Label3 = New System.Windows.Forms.Label Me.CompleteFileTextBox = New System.Windows.Forms.TextBox Me.TabPage4 = New System.Windows.Forms.TabPage Me.ViewTextButton = New System.Windows.Forms.Button Me.Label5 = New System.Windows.Forms.Label Me.TextFileTextBox = New System.Windows.Forms.TextBox Me.SaveTextButton = New System.Windows.Forms.Button Me.IFrameCheckBox = New System.Windows.Forms.CheckBox Me.ScriptCheckBox = New System.Windows.Forms.CheckBox Me.Label7 = New System.Windows.Forms.Label Me.TextEncodingComboBox = New System.Windows.Forms.ComboBox Me.GroupBox1 = New System.Windows.Forms.GroupBox Me.Label13 = New System.Windows.Forms.Label Me.Label12 = New System.Windows.Forms.Label Me.Label10 = New System.Windows.Forms.Label Me.Label11 = New System.Windows.Forms.Label Me.AuthPasswordTextBox = New System.Windows.Forms.TextBox Me.AuthUserTextBox = New System.Windows.Forms.TextBox Me.Label9 = New System.Windows.Forms.Label Me.Label8 = New System.Windows.Forms.Label Me.ProxyPasswordTextBox = New System.Windows.Forms.TextBox Me.ProxyUserTextBox = New System.Windows.Forms.TextBox Me.Label1 = New System.Windows.Forms.Label Me.ProxyUrlTextBox = New System.Windows.Forms.TextBox Me.ProxyAuthCheckBox = New System.Windows.Forms.CheckBox Me.AuthCheckBox = New System.Windows.Forms.CheckBox Me.ViewUrlButton = New System.Windows.Forms.Button Me.UrlTextBox = New System.Windows.Forms.TextBox Me.RecursionCheckBox = New System.Windows.Forms.CheckBox Me.BrowserIdTextBox = New System.Windows.Forms.TextBox Me.Label14 = New System.Windows.Forms.Label Me.TabControl1.SuspendLayout() Me.TabPage1.SuspendLayout() Me.TabControl2.SuspendLayout() Me.TabPage5.SuspendLayout() Me.TabPage6.SuspendLayout() Me.TabPage3.SuspendLayout() Me.TabPage2.SuspendLayout() Me.TabPage4.SuspendLayout() Me.GroupBox1.SuspendLayout() Me.SuspendLayout() ' 'Button1 ' Me.Button1.Location = New System.Drawing.Point(216, 492) Me.Button1.Name = "Button1" Me.Button1.TabIndex = 9 Me.Button1.Text = "Button1" ' 'TabControl1 ' Me.TabControl1.Controls.Add(Me.TabPage1) Me.TabControl1.Controls.Add(Me.TabPage3) Me.TabControl1.Controls.Add(Me.TabPage2) Me.TabControl1.Controls.Add(Me.TabPage4) Me.TabControl1.Location = New System.Drawing.Point(12, 368) Me.TabControl1.Name = "TabControl1" Me.TabControl1.SelectedIndex = 0 Me.TabControl1.Size = New System.Drawing.Size(440, 176) Me.TabControl1.TabIndex = 12 ' 'TabPage1 ' Me.TabPage1.Controls.Add(Me.TabControl2) Me.TabPage1.Location = New System.Drawing.Point(4, 22) Me.TabPage1.Name = "TabPage1" Me.TabPage1.Size = New System.Drawing.Size(432, 150) Me.TabPage1.TabIndex = 0 Me.TabPage1.Text = "Single File Web Archive" ' 'TabControl2 ' Me.TabControl2.Appearance = System.Windows.Forms.TabAppearance.Buttons Me.TabControl2.Controls.Add(Me.TabPage5) Me.TabControl2.Controls.Add(Me.TabPage6) Me.TabControl2.Dock = System.Windows.Forms.DockStyle.Fill Me.TabControl2.Location = New System.Drawing.Point(0, 0) Me.TabControl2.Name = "TabControl2" Me.TabControl2.SelectedIndex = 0 Me.TabControl2.Size = New System.Drawing.Size(432, 150) Me.TabControl2.TabIndex = 30 ' 'TabPage5 ' Me.TabPage5.Controls.Add(Me.ViewMhtButton) Me.TabPage5.Controls.Add(Me.Label2) Me.TabPage5.Controls.Add(Me.MhtFileTextBox) Me.TabPage5.Controls.Add(Me.BuildMhtButton) Me.TabPage5.Controls.Add(Me.MemoryRadioButton) Me.TabPage5.Controls.Add(Me.DiskTempRadioButton) Me.TabPage5.Controls.Add(Me.Label6) Me.TabPage5.Controls.Add(Me.DiskPermRadioButton) Me.TabPage5.Location = New System.Drawing.Point(4, 25) Me.TabPage5.Name = "TabPage5" Me.TabPage5.Size = New System.Drawing.Size(424, 121) Me.TabPage5.TabIndex = 0 Me.TabPage5.Text = "On Disk" ' 'ViewMhtButton ' Me.ViewMhtButton.Enabled = False Me.ViewMhtButton.Location = New System.Drawing.Point(352, 88) Me.ViewMhtButton.Name = "ViewMhtButton" Me.ViewMhtButton.Size = New System.Drawing.Size(60, 23) Me.ViewMhtButton.TabIndex = 32 Me.ViewMhtButton.Text = "View" ' 'Label2 ' Me.Label2.AutoSize = True Me.Label2.Location = New System.Drawing.Point(0, 4) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(266, 16) Me.Label2.TabIndex = 31 Me.Label2.Text = "Filename to generate, or target folder to generate to:" ' 'MhtFileTextBox ' Me.MhtFileTextBox.Location = New System.Drawing.Point(0, 24) Me.MhtFileTextBox.Multiline = True Me.MhtFileTextBox.Name = "MhtFileTextBox" Me.MhtFileTextBox.Size = New System.Drawing.Size(416, 32) Me.MhtFileTextBox.TabIndex = 30 Me.MhtFileTextBox.Text = "" ' 'BuildMhtButton ' Me.BuildMhtButton.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.BuildMhtButton.Location = New System.Drawing.Point(288, 88) Me.BuildMhtButton.Name = "BuildMhtButton" Me.BuildMhtButton.Size = New System.Drawing.Size(60, 23) Me.BuildMhtButton.TabIndex = 29 Me.BuildMhtButton.Text = "Save" ' 'MemoryRadioButton ' Me.MemoryRadioButton.Location = New System.Drawing.Point(88, 60) Me.MemoryRadioButton.Name = "MemoryRadioButton" Me.MemoryRadioButton.Size = New System.Drawing.Size(64, 24) Me.MemoryRadioButton.TabIndex = 33 Me.MemoryRadioButton.Text = "Memory" ' 'DiskTempRadioButton ' Me.DiskTempRadioButton.Location = New System.Drawing.Point(152, 60) Me.DiskTempRadioButton.Name = "DiskTempRadioButton" Me.DiskTempRadioButton.Size = New System.Drawing.Size(112, 24) Me.DiskTempRadioButton.TabIndex = 34 Me.DiskTempRadioButton.Text = "Disk, Temporary" ' 'Label6 ' Me.Label6.Location = New System.Drawing.Point(4, 64) Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(80, 16) Me.Label6.TabIndex = 36 Me.Label6.Text = "Temp Storage:" ' 'DiskPermRadioButton ' Me.DiskPermRadioButton.Location = New System.Drawing.Point(264, 60) Me.DiskPermRadioButton.Name = "DiskPermRadioButton" Me.DiskPermRadioButton.Size = New System.Drawing.Size(112, 24) Me.DiskPermRadioButton.TabIndex = 35 Me.DiskPermRadioButton.Text = "Disk, Permanent" ' 'TabPage6 ' Me.TabPage6.Controls.Add(Me.BuildMhtMemoryButton) Me.TabPage6.Location = New System.Drawing.Point(4, 25) Me.TabPage6.Name = "TabPage6" Me.TabPage6.Size = New System.Drawing.Size(424, 121) Me.TabPage6.TabIndex = 1 Me.TabPage6.Text = "In Memory" ' 'BuildMhtMemoryButton ' Me.BuildMhtMemoryButton.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.BuildMhtMemoryButton.Location = New System.Drawing.Point(280, 88) Me.BuildMhtMemoryButton.Name = "BuildMhtMemoryButton" Me.BuildMhtMemoryButton.Size = New System.Drawing.Size(132, 23) Me.BuildMhtMemoryButton.TabIndex = 30 Me.BuildMhtMemoryButton.Text = "Display" ' 'TabPage3 ' Me.TabPage3.Controls.Add(Me.ViewHtmlButton) Me.TabPage3.Controls.Add(Me.Label4) Me.TabPage3.Controls.Add(Me.HtmlFileTextBox) Me.TabPage3.Controls.Add(Me.SaveHtmlButton) Me.TabPage3.Location = New System.Drawing.Point(4, 22) Me.TabPage3.Name = "TabPage3" Me.TabPage3.Size = New System.Drawing.Size(432, 150) Me.TabPage3.TabIndex = 2 Me.TabPage3.Text = "Web Page (html only)" ' 'ViewHtmlButton ' Me.ViewHtmlButton.Enabled = False Me.ViewHtmlButton.Location = New System.Drawing.Point(360, 112) Me.ViewHtmlButton.Name = "ViewHtmlButton" Me.ViewHtmlButton.Size = New System.Drawing.Size(60, 23) Me.ViewHtmlButton.TabIndex = 24 Me.ViewHtmlButton.Text = "View" ' 'Label4 ' Me.Label4.AutoSize = True Me.Label4.Location = New System.Drawing.Point(8, 8) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(266, 16) Me.Label4.TabIndex = 23 Me.Label4.Text = "Filename to generate, or target folder to generate to:" ' 'HtmlFileTextBox ' Me.HtmlFileTextBox.Location = New System.Drawing.Point(8, 24) Me.HtmlFileTextBox.Multiline = True Me.HtmlFileTextBox.Name = "HtmlFileTextBox" Me.HtmlFileTextBox.Size = New System.Drawing.Size(416, 80) Me.HtmlFileTextBox.TabIndex = 22 Me.HtmlFileTextBox.Text = "" ' 'SaveHtmlButton ' Me.SaveHtmlButton.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.SaveHtmlButton.Location = New System.Drawing.Point(296, 112) Me.SaveHtmlButton.Name = "SaveHtmlButton" Me.SaveHtmlButton.Size = New System.Drawing.Size(60, 23) Me.SaveHtmlButton.TabIndex = 21 Me.SaveHtmlButton.Text = "Save" ' 'TabPage2 ' Me.TabPage2.Controls.Add(Me.ViewCompleteButton) Me.TabPage2.Controls.Add(Me.BuildFileButton) Me.TabPage2.Controls.Add(Me.Label3) Me.TabPage2.Controls.Add(Me.CompleteFileTextBox) Me.TabPage2.Location = New System.Drawing.Point(4, 22) Me.TabPage2.Name = "TabPage2" Me.TabPage2.Size = New System.Drawing.Size(432, 150) Me.TabPage2.TabIndex = 1 Me.TabPage2.Text = "Web Page (complete)" ' 'ViewCompleteButton ' Me.ViewCompleteButton.Enabled = False Me.ViewCompleteButton.Location = New System.Drawing.Point(360, 112) Me.ViewCompleteButton.Name = "ViewCompleteButton" Me.ViewCompleteButton.Size = New System.Drawing.Size(60, 23) Me.ViewCompleteButton.TabIndex = 22 Me.ViewCompleteButton.Text = "View" ' 'BuildFileButton ' Me.BuildFileButton.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.BuildFileButton.Location = New System.Drawing.Point(296, 112) Me.BuildFileButton.Name = "BuildFileButton" Me.BuildFileButton.Size = New System.Drawing.Size(60, 23) Me.BuildFileButton.TabIndex = 21 Me.BuildFileButton.Text = "Save" ' 'Label3 ' Me.Label3.AutoSize = True Me.Label3.Location = New System.Drawing.Point(8, 8) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(266, 16) Me.Label3.TabIndex = 20 Me.Label3.Text = "Filename to generate, or target folder to generate to:" ' 'CompleteFileTextBox ' Me.CompleteFileTextBox.Location = New System.Drawing.Point(8, 24) Me.CompleteFileTextBox.Multiline = True Me.CompleteFileTextBox.Name = "CompleteFileTextBox" Me.CompleteFileTextBox.Size = New System.Drawing.Size(416, 80) Me.CompleteFileTextBox.TabIndex = 19 Me.CompleteFileTextBox.Text = "" ' 'TabPage4 ' Me.TabPage4.Controls.Add(Me.ViewTextButton) Me.TabPage4.Controls.Add(Me.Label5) Me.TabPage4.Controls.Add(Me.TextFileTextBox) Me.TabPage4.Controls.Add(Me.SaveTextButton) Me.TabPage4.Location = New System.Drawing.Point(4, 22) Me.TabPage4.Name = "TabPage4" Me.TabPage4.Size = New System.Drawing.Size(432, 150) Me.TabPage4.TabIndex = 3 Me.TabPage4.Text = "Text" ' 'ViewTextButton ' Me.ViewTextButton.Enabled = False Me.ViewTextButton.Location = New System.Drawing.Point(360, 112) Me.ViewTextButton.Name = "ViewTextButton" Me.ViewTextButton.Size = New System.Drawing.Size(60, 23) Me.ViewTextButton.TabIndex = 24 Me.ViewTextButton.Text = "View" ' 'Label5 ' Me.Label5.AutoSize = True Me.Label5.Location = New System.Drawing.Point(8, 8) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(266, 16) Me.Label5.TabIndex = 23 Me.Label5.Text = "Filename to generate, or target folder to generate to:" ' 'TextFileTextBox ' Me.TextFileTextBox.Location = New System.Drawing.Point(8, 24) Me.TextFileTextBox.Multiline = True Me.TextFileTextBox.Name = "TextFileTextBox" Me.TextFileTextBox.Size = New System.Drawing.Size(416, 80) Me.TextFileTextBox.TabIndex = 22 Me.TextFileTextBox.Text = "" ' 'SaveTextButton ' Me.SaveTextButton.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.SaveTextButton.Location = New System.Drawing.Point(296, 112) Me.SaveTextButton.Name = "SaveTextButton" Me.SaveTextButton.Size = New System.Drawing.Size(60, 23) Me.SaveTextButton.TabIndex = 21 Me.SaveTextButton.Text = "Save" ' 'IFrameCheckBox ' Me.IFrameCheckBox.Location = New System.Drawing.Point(172, 272) Me.IFrameCheckBox.Name = "IFrameCheckBox" Me.IFrameCheckBox.Size = New System.Drawing.Size(152, 24) Me.IFrameCheckBox.TabIndex = 23 Me.IFrameCheckBox.Text = "Remove <IFRAME> tags" ' 'ScriptCheckBox ' Me.ScriptCheckBox.Location = New System.Drawing.Point(12, 272) Me.ScriptCheckBox.Name = "ScriptCheckBox" Me.ScriptCheckBox.Size = New System.Drawing.Size(148, 24) Me.ScriptCheckBox.TabIndex = 22 Me.ScriptCheckBox.Text = "Remove <SCRIPT> tags" ' 'Label7 ' Me.Label7.Location = New System.Drawing.Point(12, 336) Me.Label7.Name = "Label7" Me.Label7.Size = New System.Drawing.Size(80, 16) Me.Label7.TabIndex = 29 Me.Label7.Text = "Text Encoding:" ' 'TextEncodingComboBox ' Me.TextEncodingComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.TextEncodingComboBox.Items.AddRange(New Object() {"Autodetect", "Unicode", "Windows-1252", "UTF-8"}) Me.TextEncodingComboBox.Location = New System.Drawing.Point(100, 332) Me.TextEncodingComboBox.Name = "TextEncodingComboBox" Me.TextEncodingComboBox.Size = New System.Drawing.Size(136, 21) Me.TextEncodingComboBox.TabIndex = 30 ' 'GroupBox1 ' Me.GroupBox1.Controls.Add(Me.Label13) Me.GroupBox1.Controls.Add(Me.Label12) Me.GroupBox1.Controls.Add(Me.Label10) Me.GroupBox1.Controls.Add(Me.Label11) Me.GroupBox1.Controls.Add(Me.AuthPasswordTextBox) Me.GroupBox1.Controls.Add(Me.AuthUserTextBox) Me.GroupBox1.Controls.Add(Me.Label9) Me.GroupBox1.Controls.Add(Me.Label8) Me.GroupBox1.Controls.Add(Me.ProxyPasswordTextBox) Me.GroupBox1.Controls.Add(Me.ProxyUserTextBox) Me.GroupBox1.Controls.Add(Me.Label1) Me.GroupBox1.Controls.Add(Me.ProxyUrlTextBox) Me.GroupBox1.Controls.Add(Me.ProxyAuthCheckBox) Me.GroupBox1.Controls.Add(Me.AuthCheckBox) Me.GroupBox1.Controls.Add(Me.ViewUrlButton) Me.GroupBox1.Controls.Add(Me.UrlTextBox) Me.GroupBox1.Location = New System.Drawing.Point(4, 4) Me.GroupBox1.Name = "GroupBox1" Me.GroupBox1.Size = New System.Drawing.Size(452, 244) Me.GroupBox1.TabIndex = 33 Me.GroupBox1.TabStop = False Me.GroupBox1.Text = "Target URL" ' 'Label13 ' Me.Label13.Location = New System.Drawing.Point(224, 192) Me.Label13.Name = "Label13" Me.Label13.Size = New System.Drawing.Size(128, 32) Me.Label13.TabIndex = 48 Me.Label13.Text = "(leave blank to use current user credentials)" ' 'Label12 ' Me.Label12.Location = New System.Drawing.Point(224, 84) Me.Label12.Name = "Label12" Me.Label12.Size = New System.Drawing.Size(128, 32) Me.Label12.TabIndex = 47 Me.Label12.Text = "(leave blank to use current user credentials)" ' 'Label10 ' Me.Label10.Location = New System.Drawing.Point(36, 104) Me.Label10.Name = "Label10" Me.Label10.Size = New System.Drawing.Size(64, 16) Me.Label10.TabIndex = 46 Me.Label10.Text = "password:" ' 'Label11 ' Me.Label11.Location = New System.Drawing.Point(36, 80) Me.Label11.Name = "Label11" Me.Label11.Size = New System.Drawing.Size(64, 16) Me.Label11.TabIndex = 45 Me.Label11.Text = "user:" ' 'AuthPasswordTextBox ' Me.AuthPasswordTextBox.Location = New System.Drawing.Point(108, 104) Me.AuthPasswordTextBox.Name = "AuthPasswordTextBox" Me.AuthPasswordTextBox.TabIndex = 44 Me.AuthPasswordTextBox.Text = "" ' 'AuthUserTextBox ' Me.AuthUserTextBox.Location = New System.Drawing.Point(108, 80) Me.AuthUserTextBox.Name = "AuthUserTextBox" Me.AuthUserTextBox.TabIndex = 43 Me.AuthUserTextBox.Text = "" ' 'Label9 ' Me.Label9.Location = New System.Drawing.Point(36, 212) Me.Label9.Name = "Label9" Me.Label9.Size = New System.Drawing.Size(64, 16) Me.Label9.TabIndex = 42 Me.Label9.Text = "password:" ' 'Label8 ' Me.Label8.Location = New System.Drawing.Point(36, 188) Me.Label8.Name = "Label8" Me.Label8.Size = New System.Drawing.Size(64, 16) Me.Label8.TabIndex = 41 Me.Label8.Text = "user:" ' 'ProxyPasswordTextBox ' Me.ProxyPasswordTextBox.Location = New System.Drawing.Point(108, 212) Me.ProxyPasswordTextBox.Name = "ProxyPasswordTextBox" Me.ProxyPasswordTextBox.TabIndex = 40 Me.ProxyPasswordTextBox.Text = "" ' 'ProxyUserTextBox ' Me.ProxyUserTextBox.Location = New System.Drawing.Point(108, 188) Me.ProxyUserTextBox.Name = "ProxyUserTextBox" Me.ProxyUserTextBox.TabIndex = 39 Me.ProxyUserTextBox.Text = "" ' 'Label1 ' Me.Label1.Location = New System.Drawing.Point(36, 164) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(64, 16) Me.Label1.TabIndex = 38 Me.Label1.Text = "proxy URL:" ' 'ProxyUrlTextBox ' Me.ProxyUrlTextBox.Location = New System.Drawing.Point(108, 164) Me.ProxyUrlTextBox.Name = "ProxyUrlTextBox" Me.ProxyUrlTextBox.Size = New System.Drawing.Size(332, 20) Me.ProxyUrlTextBox.TabIndex = 37 Me.ProxyUrlTextBox.Text = "" ' 'ProxyAuthCheckBox ' Me.ProxyAuthCheckBox.Location = New System.Drawing.Point(16, 136) Me.ProxyAuthCheckBox.Name = "ProxyAuthCheckBox" Me.ProxyAuthCheckBox.Size = New System.Drawing.Size(268, 24) Me.ProxyAuthCheckBox.TabIndex = 36 Me.ProxyAuthCheckBox.Text = "To get to this URL, we must go through a proxy:" ' 'AuthCheckBox ' Me.AuthCheckBox.Location = New System.Drawing.Point(16, 52) Me.AuthCheckBox.Name = "AuthCheckBox" Me.AuthCheckBox.Size = New System.Drawing.Size(188, 24) Me.AuthCheckBox.TabIndex = 35 Me.AuthCheckBox.Text = "This URL requires authentication" ' 'ViewUrlButton ' Me.ViewUrlButton.Location = New System.Drawing.Point(384, 52) Me.ViewUrlButton.Name = "ViewUrlButton" Me.ViewUrlButton.Size = New System.Drawing.Size(60, 23) Me.ViewUrlButton.TabIndex = 34 Me.ViewUrlButton.Text = "View" ' 'UrlTextBox ' Me.UrlTextBox.Location = New System.Drawing.Point(8, 24) Me.UrlTextBox.Name = "UrlTextBox" Me.UrlTextBox.Size = New System.Drawing.Size(436, 20) Me.UrlTextBox.TabIndex = 33 Me.UrlTextBox.Text = "http://www.codinghorror.com/blog/" ' 'RecursionCheckBox ' Me.RecursionCheckBox.Checked = True Me.RecursionCheckBox.CheckState = System.Windows.Forms.CheckState.Checked Me.RecursionCheckBox.Location = New System.Drawing.Point(12, 252) Me.RecursionCheckBox.Name = "RecursionCheckBox" Me.RecursionCheckBox.Size = New System.Drawing.Size(324, 20) Me.RecursionCheckBox.TabIndex = 34 Me.RecursionCheckBox.Text = "Allow recursive file retrieval (eg, <FRAME> and <IFRAME>)" ' 'BrowserIdTextBox ' Me.BrowserIdTextBox.Location = New System.Drawing.Point(100, 308) Me.BrowserIdTextBox.Name = "BrowserIdTextBox" Me.BrowserIdTextBox.Size = New System.Drawing.Size(352, 20) Me.BrowserIdTextBox.TabIndex = 35 Me.BrowserIdTextBox.Text = "" ' 'Label14 ' Me.Label14.Location = New System.Drawing.Point(12, 312) Me.Label14.Name = "Label14" Me.Label14.Size = New System.Drawing.Size(64, 16) Me.Label14.TabIndex = 43 Me.Label14.Text = "Browser ID:" ' 'Form1 ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(460, 553) Me.Controls.Add(Me.Label14) Me.Controls.Add(Me.BrowserIdTextBox) Me.Controls.Add(Me.RecursionCheckBox) Me.Controls.Add(Me.GroupBox1) Me.Controls.Add(Me.TextEncodingComboBox) Me.Controls.Add(Me.Label7) Me.Controls.Add(Me.IFrameCheckBox) Me.Controls.Add(Me.ScriptCheckBox) Me.Controls.Add(Me.TabControl1) Me.Controls.Add(Me.Button1) Me.Name = "Form1" Me.Text = "MhtBuilder Demo Form" Me.TabControl1.ResumeLayout(False) Me.TabPage1.ResumeLayout(False) Me.TabControl2.ResumeLayout(False) Me.TabPage5.ResumeLayout(False) Me.TabPage6.ResumeLayout(False) Me.TabPage3.ResumeLayout(False) Me.TabPage2.ResumeLayout(False) Me.TabPage4.ResumeLayout(False) Me.GroupBox1.ResumeLayout(False) Me.ResumeLayout(False) End Sub #End Region Private _mht As New Mht.Builder Private Sub BuildMhtButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BuildMhtButton.Click Cursor.Current = Cursors.WaitCursor Dim st As Mht.Builder.FileStorage If MemoryRadioButton.Checked Then st = Mht.Builder.FileStorage.Memory End If If DiskTempRadioButton.Checked Then st = Mht.Builder.FileStorage.DiskTemporary End If If DiskPermRadioButton.Checked Then st = Mht.Builder.FileStorage.DiskPermanent End If MhtFileTextBox.Text = _mht.SavePageArchive(MhtFileTextBox.Text, st, UrlTextBox.Text) Cursor.Current = Cursors.Default ViewMhtButton.Enabled = True End Sub Private Sub BuildMhtMemoryButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BuildMhtMemoryButton.Click Cursor.Current = Cursors.WaitCursor Dim f As New Form2 f.Data = _mht.GetPageArchive(UrlTextBox.Text) f.ShowDialog(Me) Cursor.Current = Cursors.Default End Sub Private Sub BuildFileButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BuildFileButton.Click Cursor.Current = Cursors.WaitCursor CompleteFileTextBox.Text = _mht.SavePageComplete(CompleteFileTextBox.Text, UrlTextBox.Text) Cursor.Current = Cursors.Default ViewCompleteButton.Enabled = True End Sub Private Sub SaveHtmlButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveHtmlButton.Click Cursor.Current = Cursors.WaitCursor HtmlFileTextBox.Text = _mht.SavePage(HtmlFileTextBox.Text, UrlTextBox.Text) Cursor.Current = Cursors.Default ViewHtmlButton.Enabled = True End Sub Private Sub SaveTextButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveTextButton.Click _mht.Url = UrlTextBox.Text Cursor.Current = Cursors.WaitCursor TextFileTextBox.Text = _mht.SavePageText(TextFileTextBox.Text) Cursor.Current = Cursors.Default ViewTextButton.Enabled = True End Sub '-- '-- removes all unsafe characters to form a valid filename '-- Private Function MakeSafeFilename(ByVal strAny As String) As String strAny = Regex.Replace(strAny, "^http://|/$", "", RegexOptions.IgnoreCase) Return Regex.Replace(strAny, "[\/\\\:\*\?\""\<\>\|]", "_") End Function '-- '-- auto-generate filenames for each textbox based on the URL '-- Private Sub AutoGenerateFilename() Dim strSafeName As String strSafeName = AppDomain.CurrentDomain.BaseDirectory MhtFileTextBox.Text = strSafeName HtmlFileTextBox.Text = strSafeName CompleteFileTextBox.Text = strSafeName TextFileTextBox.Text = strSafeName End Sub Private Sub UrlTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) AutoGenerateFilename() End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load AutoGenerateFilename() End Sub Private Sub ViewUrlButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) System.Diagnostics.Process.Start(UrlTextBox.Text) End Sub Private Sub ViewFileButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewMhtButton.Click System.Diagnostics.Process.Start(MhtFileTextBox.Text) End Sub Private Sub ViewHtmlButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewHtmlButton.Click System.Diagnostics.Process.Start(HtmlFileTextBox.Text) End Sub Private Sub ViewCompleteButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewCompleteButton.Click System.Diagnostics.Process.Start(CompleteFileTextBox.Text) End Sub Private Sub ViewTextButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ViewTextButton.Click System.Diagnostics.Process.Start(TextFileTextBox.Text) End Sub Private Sub ScriptCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ScriptCheckBox.CheckedChanged _mht.StripScripts = ScriptCheckBox.Checked End Sub Private Sub IFrameCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IFrameCheckBox.CheckedChanged _mht.StripIframes = IFrameCheckBox.Checked End Sub Private Sub TextEncodingComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextEncodingComboBox.SelectedIndexChanged Select Case TextEncodingComboBox.SelectedItem.ToString Case "Autodetect" _mht.TextEncoding = Nothing Case "Unicode" _mht.TextEncoding = System.Text.Encoding.Unicode Case Else _mht.TextEncoding = System.Text.Encoding.UTF8 End Select End Sub Private Sub AuthCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AuthCheckBox.CheckedChanged _mht.AuthenticationRequired = AuthCheckBox.Checked End Sub Private Sub ProxyAuthCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProxyAuthCheckBox.CheckedChanged _mht.ProxyAuthenticationRequired = ProxyAuthCheckBox.Checked End Sub Private Sub ProxyUrlTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProxyUrlTextBox.TextChanged ProxyAuthCheckBox.Checked = (ProxyUrlTextBox.Text <> "") _mht.ProxyUrl = ProxyUrlTextBox.Text End Sub Private Sub ProxyUserTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProxyUserTextBox.TextChanged _mht.ProxyUser = ProxyUserTextBox.Text End Sub Private Sub ProxyPasswordTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProxyPasswordTextBox.TextChanged _mht.ProxyPassword = ProxyPasswordTextBox.Text End Sub Private Sub AuthPasswordTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AuthPasswordTextBox.TextChanged _mht.AuthenticationPassword = AuthPasswordTextBox.Text End Sub Private Sub AuthUserTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AuthUserTextBox.TextChanged _mht.AuthenticationUser = AuthUserTextBox.Text End Sub Private Sub RecursionCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RecursionCheckBox.CheckedChanged _mht.AllowRecursiveFileRetrieval = RecursionCheckBox.Checked End Sub Private Sub BrowserIdTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BrowserIdTextBox.TextChanged _mht.BrowserIdString = BrowserIdTextBox.Text End Sub End Class
bytes=37728