博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c# Winforms WebBrowser - Clear all cookies
阅读量:6996 次
发布时间:2019-06-27

本文共 2645 字,大约阅读时间需要 8 分钟。

Hello,
 
I recently search for a method to delete all cookies from the build in .NET WinForms   control.
 
I didn't found any 
working solution for it, nor working example.
It being told to use   but nothing found about it.
 
So, i will write here my solution for 
clearing and deleting all cookies.
My solution using   with the option flag:  , which described as:
A general purpose option that is used to suppress behaviors on a process-wide basis. The lpBuffer parameter of the function must be a pointer to a DWORD containing the specific behavior to suppress. This option cannot be queried with InternetQueryOption.
 
This option flag should be used together with INTERNET_SUPPRESS_COOKIE_PERSIST options, which means:
Suppresses the persistence of cookies, even if the server has specified them as persistent.
So the example code for it will be:
static void Main(){    SuppressWininetBehavior();    Application.EnableVisualStyles();    Application.SetCompatibleTextRenderingDefault(false);    Application.Run(new Form1());}[System.Runtime.InteropServices.DllImport("wininet.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, SetLastError = true)]public static extern bool InternetSetOption(int hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength);private static unsafe void SuppressWininetBehavior(){    /* SOURCE: http://msdn.microsoft.com/en-us/library/windows/desktop/aa385328%28v=vs.85%29.aspx        * INTERNET_OPTION_SUPPRESS_BEHAVIOR (81):        *      A general purpose option that is used to suppress behaviors on a process-wide basis.         *      The lpBuffer parameter of the function must be a pointer to a DWORD containing the specific behavior to suppress.         *      This option cannot be queried with InternetQueryOption.         *              * INTERNET_SUPPRESS_COOKIE_PERSIST (3):        *      Suppresses the persistence of cookies, even if the server has specified them as persistent.        *      Version:  Requires Internet Explorer 8.0 or later.        */    int option = (int)3/* INTERNET_SUPPRESS_COOKIE_PERSIST*/;    int* optionPtr = &option;    bool success = InternetSetOption(0, 81/*INTERNET_OPTION_SUPPRESS_BEHAVIOR*/, new IntPtr(optionPtr), sizeof(int));    if (!success)    {        MessageBox.Show("Something went wrong !>?");    }}
Please make sure your project is allows unsafe code. (under Properties => Build Tab) 
This code is deleting the COOKIES per PROCESS on startup ONLY. 
[tested on WIN-7 and working great]
 
 
http://mdb-blog.blogspot.com/2013/02/c-winforms-webbrowser-clear-all-cookies.html?showComment=1400640795248#c48436006945190670

转载于:https://www.cnblogs.com/Googler/p/3740805.html

你可能感兴趣的文章
我的友情链接
查看>>
struts1标签库
查看>>
为何总是拿到薪资范围下限的offer?
查看>>
事务一致性的错误
查看>>
jquery中使用css,offset和position设置top和left属性
查看>>
MyBatis 之 延迟加载(Lazy Load)
查看>>
Disruptor剖析
查看>>
oracle数据仓库物理模型设计
查看>>
Squid三种代理方式的实现及ACL
查看>>
在透视表中定义公式
查看>>
我的友情链接
查看>>
close_wait状态的产生原因及解决(1)
查看>>
堆(heap)
查看>>
Windows Server 2016-图形化之客户端加域(一)
查看>>
Silverlight 版 C1OutlookBar 初体验
查看>>
使用Visual Studio 2012 开发 Html5 应用
查看>>
通过案例学调优之--Oracle 全文索引
查看>>
Java自带的性能监测工具之jstat
查看>>
HBase Shell 基本操作
查看>>
samba
查看>>