通過測試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))