【C#】清除webBrowser 缓存和Cookie的解决方案

试了很多方法,最后发现万剑大哥的方法管用,转载一下

转自:https://www.cnblogs.com/midcn/p/3527123.html

通过测试webBrowser与IE缓存和Cookie都存放在Local Settings\Temporary Internet Files,我们可以直接调用IE API进行清除

解决方案1:

【C#】清除webBrowser 缓存和Cookie的解决方案
public enum ShowCommands : int

{

SW_HIDE = 0,

SW_SHOWNORMAL = 1,

SW_NORMAL = 1,

SW_SHOWMINIMIZED = 2,

SW_SHOWMAXIMIZED = 3,

SW_MAXIMIZE = 3,

SW_SHOWNOACTIVATE = 4,

SW_SHOW = 5,

SW_MINIMIZE = 6,

SW_SHOWMINNOACTIVE = 7,

SW_SHOWNA = 8,

SW_RESTORE = 9,

SW_SHOWDEFAULT = 10,

SW_FORCEMINIMIZE = 11,

SW_MAX = 11

}
【C#】清除webBrowser 缓存和Cookie的解决方案
[DllImport("shell32.dll")]

static extern IntPtr ShellExecute( IntPtr hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, ShowCommands nShowCmd);
//清除IE临时文件

                ShellExecute(IntPtr.Zero, "open", "rundll32.exe", " InetCpl.cpl,ClearMyTracksByProcess 255", "", ShowCommands.SW_HIDE);

其中ClearMyTracksByProcess 可进行选择设置 :

Temporary Internet Files  (Internet临时文件)

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8

Cookies

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2

History (历史记录)

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1

 Form. Data (表单数据)

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16

 Passwords (密码)

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32

 Delete All  (全部删除)

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255

解决方案2:快速清除webBrowser Cookie

wb.Document.Cookie.Remove(0, (wb.Document.Cookie.Count - 1))
上一篇:iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?


下一篇:iOS UIWebView清除缓存