如何在C#中使用WebBrowser控件清除浏览历史记录(How to clear browsing

2019-06-27 00:41发布

我想清除的浏览历史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();
}

Answer 1:

临时网络文件

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")


Answer 2:

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

您将获得3种类型的缓存,与开始“曲奇”,另一个开始“访问” - 这只是代表访问过的网站列表(它不是历史,不要将两者混为一谈),最后只输入进来一个网址为http begining的形式://或https://。 一旦你通过循环,你可以挑选你想要删除哪些。

如果你想删除所访问的页面列表中,你需要使用DeleteUrlCacheEntry删除的各个项目。 通过使用的FindFirst / NextUrlCacheEntry API的循环,你可以访问的日期和时间创建这些项目,因此只删除创建的项目后,您的浏览器会话启动,并结束之前。

对于使用FindFirst / NextUrlCacheEntry和DeleteUrlCacheEntry信息,有预先编写的代码在网上,你可以使用,然后它会很容易为你创建一个过滤器,以决定你想要哪些项目删除,当你通过这些缓存条目循环。

让我知道如果我能的进一步帮助。



文章来源: How to clear browsing history using WebBrowser control in C#