C#清除WebBrowser中Cookie缓存的方法
本文实例讲述了C#清除WebBrowser中Cookie缓存的方法。分享给大家供大家参考,具体如下:
最近用C#写一个程序,用一个窗体中的WebBrowser来登陆网站,但是WebBrowser有cookie缓存,第二次登陆的时候WebBrowser仍然是第一次登陆后的状态,所以要清除WebBrowser的cookie缓存。
在stackoverflow上找到一段可用的代码:
[DllImport("wininet.dll",CharSet=System.Runtime.InteropServices.CharSet.Auto,SetLastError=true)]
publicstaticexternboolInternetSetOption(inthInternet,intdwOption,IntPtrlpBuffer,intdwBufferLength);
privateunsafevoidSuppressWininetBehavior()
{
/*SOURCE:http://msdn.microsoft.com/en-us/library/windows/desktop/aa385328%28v=vs.85%29.aspx
*INTERNET_OPTION_SUPPRESS_BEHAVIOR(81):
*Ageneralpurposeoptionthatisusedtosuppressbehaviorsonaprocess-widebasis.
*ThelpBufferparameterofthefunctionmustbeapointertoaDWORDcontainingthespecificbehaviortosuppress.
*ThisoptioncannotbequeriedwithInternetQueryOption.
*
*INTERNET_SUPPRESS_COOKIE_PERSIST(3):
*Suppressesthepersistenceofcookies,eveniftheserverhasspecifiedthemaspersistent.
*Version:RequiresInternetExplorer8.0orlater.
*/
intoption=(int)3/*INTERNET_SUPPRESS_COOKIE_PERSIST*/;
int*optionPtr=&option;
boolsuccess=InternetSetOption(0,81/*INTERNET_OPTION_SUPPRESS_BEHAVIOR*/,newIntPtr(optionPtr),sizeof(int));
if(!success)
{
MessageBox.Show("Somethingwentwrong!>?");
}
}
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#常见控件用法教程》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》
希望本文所述对大家C#程序设计有所帮助。