清除webBrowser 緩存和Cookie的解決方案 清除webBrowser 緩存和Cookie的解決方案

清除webBrowser 緩存和Cookie的解決方案

 

經過測試webBrowser與IE緩存和Cookie都存放在Local Settings\Temporary Internet Files,咱們能夠直接調用IE API進行清除html

解決方案1:web

複製代碼
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 可進行選擇設置 :shell

 

Temporary Internet Files  (Internet臨時文件)windows

 

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8緩存

 

Cookiescookie

 

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2ide

 

History (歷史記錄)post

 

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1測試

 

 

 Form. Data (表單數據)ui

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

 

 

另一個

 

 

  1.  
    [ DllImport("wininet.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, SetLastError = true)]
  2.  
    public static extern bool InternetSetOption(int hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength);
  3.  
    private unsafe void SuppressWininetBehavior()
  4.  
    {
  5.  
    /* SOURCE: http://msdn.microsoft.com/en-us/library/windows/desktop/aa385328%28v=vs.85%29.aspx
  6.  
    * INTERNET_OPTION_SUPPRESS_BEHAVIOR (81):
  7.  
    * A general purpose option that is used to suppress behaviors on a process-wide basis.
  8.  
    * The lpBuffer parameter of the function must be a pointer to a DWORD containing the specific behavior to suppress.
  9.  
    * This option cannot be queried with InternetQueryOption.
  10.  
    *
  11.  
    * INTERNET_SUPPRESS_COOKIE_PERSIST (3):
  12.  
    * Suppresses the persistence of cookies, even if the server has specified them as persistent.
  13.  
    * Version: Requires Internet Explorer 8.0 or later.
  14.  
    */
  15.  
    int option = (int)3/* INTERNET_SUPPRESS_COOKIE_PERSIST*/;
  16.  
    int* optionPtr = &option;
  17.  
    bool success = InternetSetOption(0, 81/*INTERNET_OPTION_SUPPRESS_BEHAVIOR*/, new IntPtr(optionPtr), sizeof(int));
  18.  
    if (!success)
  19.  
    {
  20.  
    MessageBox.Show( "Something went wrong !>?");
  21.  
    }
  22.  
    }
相關文章
相關標籤/搜索