我希望在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();
}
答案 0 :(得分:8)
临时互联网文件
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 8")
缓存()
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")
答案 1 :(得分:0)
实际上,有两种类型的历史。一个是“访问过的”页面列表,另一个是您在IE的历史用户界面中看到的实际历史记录。
您将获得3种类型的缓存,以“Cookie:”开头,另一种以“Visited:”开头 - 它只代表访问过的网站列表(不是历史,不要混淆两者),最后一种类型只是以网址的形式出现,以http://或https://开头。循环完成后,您可以选择要删除的内容。
如果要删除已访问的页面列表,则需要使用DeleteUrlCacheEntry删除每个项目。通过使用FindFirst / NextUrlCacheEntry API循环,您可以访问这些项目的创建时间和日期,因此只删除在浏览器会话开始后和完成之前创建的项目。
对于FindFirst / NextUrlCacheEntry和DeleteUrlCacheEntry信息,您可以使用在线预编写的代码,然后您可以轻松创建过滤器,以确定在循环访问这些缓存条目时要删除的项目
如果我能得到进一步帮助,请告诉我。