-1

我想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();
}
4

2 回答 2

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")
于 2012-08-15T08:06:51.617 回答
0

实际上,有两种类型的历史。一个是“已访问”页面列表,另一个是您在 IE 历史用户界面中看到的实际历史。

您将获得 3 种类型的缓存,以“Cookie:”开头,另一种以“Visited:”开头 - 仅代表访问过的站点列表(它不是历史记录,不要混淆两者),最后一个类型只是以 http:// 或 https:// 开头的 url 的形式出现。循环播放后,您可以选择要删除的内容。

如果要删除访问过的页面列表,则需要使用 DeleteUrlCacheEntry 删除每个项目。通过使用 FindFirst/NextUrlCacheEntry API 循环访问,您可以访问创建这些项目的时间和日期,因此仅删除在浏览器会话开始之后和完成之前创建的项目。

对于 FindFirst/NextUrlCacheEntry 和 DeleteUrlCacheEntry 信息,网上有预先编写的代码可以使用,然后您可以轻松创建过滤器来决定在循环这些缓存条目时要删除哪些项目。

让我知道我是否可以提供进一步的帮助。

于 2012-08-31T12:52:47.227 回答