如何在C#中使用WebBrowser控件清除浏览历史记录
我希望在WebBrowser
完成浏览后清除C#中WebBrowser
控件的浏览历史记录。
这是我的代码:
try { foreach (string sr in File.ReadAllLines("link.txt")) { webBrowser1.Navigate(sr); webBrowser1.ScriptErrorsSuppressed = true; } while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } } catch(Exception) { MessageBox.Show("Internet Connection not found","Error",MessageBoxButtons.OK,MessageBoxIcon.Error); this.Close(); }
临时网络文件
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 8")
cookies()
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 2")
历史()
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 1")
表(数据)
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 16")
密码
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 32")
删除所有)
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 255")
全部删除 – 同时删除加载项存储的文件和设置
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 4351")
实际上,有两种类型的历史。 一个是“访问过的”页面列表,另一个是您在IE的历史用户界面中看到的实际历史记录。
你会得到3种类型的缓存,从“Cookie:”开始,另一种以“Visited:”开头 – 它只代表访问过的网站列表(它不是历史,不要混淆两者),最后一个type只是以url开头的forms,以http://或https://开头。 循环完成后,您可以选择要删除的项目。
如果要删除访问的页面列表,则需要使用DeleteUrlCacheEntry删除每个项目。 通过使用FindFirst / NextUrlCacheEntry API循环,您可以访问这些项目的创建时间和日期,因此只删除浏览器会话开始后和完成之前创建的项目。
对于FindFirst / NextUrlCacheEntry和DeleteUrlCacheEntry信息,您可以使用在线预编写的代码,然后在循环浏览这些缓存条目时,您可以轻松创建filter以确定要删除的项目。
如果我能得到进一步的帮助,请告诉我。