在 WPF 中使用 C# 代码删除 IE 缓存和 Cookie

loo*_*ris 5 c# wpf internet-explorer

我在 WPF 应用程序中使用 WebBrowser 控件,我希望从代码中清除 IE cookie 缓存。

我曾尝试使用以下代码

string[] Cookies = System.IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.Cookies));
foreach (string currentFile in Cookies)
{
  try
  {
    System.IO.File.Delete(currentFile);
  }

  catch (Exception ex)
  {
    MessageBox.Show(ex.Message);
  }
}
Run Code Online (Sandbox Code Playgroud)

这会从指定的文件夹中删除文件,但是当我使用 WebBrowser 控件导航回来时,cookie 会重新出现,就好像它们从未被删除过一样。

这可能是正确的结果,因为我假设 Environment.SpecialFolder.Cookies 文件夹位于 AppData 中,它是用户正在做什么的当前快照。

如果我打开 IE,并硬删除 cookie 和缓存,我会在我的应用程序中得到预期的输出。

有没有办法在代码中执行此操作?

Sma*_*aug 4

Microsoft 知识库文章将帮助您更好地清除整个缓存。

链接参考

不过,您也可以尝试以下解决方案。

string[] InterNetCache = System.IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache));
Run Code Online (Sandbox Code Playgroud)