清除webBrowser 缓存和Cookie的解决方案

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

解决方案1:

复制代码
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



}
复制代码

 

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

 

 

 

你可能感兴趣的:(WebBrowser)