WebブラウザコントロールでのみCookieを無効にすることはできません。コントロールは基本的に組み込みのInternetExplorerであり、ユーザーのInternetExplorer設定を共有します。Internet Explorerの他のすべてのインスタンスでCookieをブロックしてもかまわない場合(残りのブラウジングにChromeまたはFirefoxを使用している可能性があります)、次の操作を実行できます。
(From:http ://social.msdn.microsoft.com/Forums/en-US/winforms/thread/90834f20-c89f-42f9-92a8-f67ccee3799a/ )
WebBrowserコントロールでCookieをブロックするには、次の手順を実行できます。実際、IEでCookieをブロックするのと同じです。
- IEの[ツール]メニューから[インターネットオプション]を選択します。
- 「プライバシー」タブを選択します。
- [設定]グループボックスの[詳細...]ボタンをクリックします。
- [自動Cookie処理を上書きする]オプションをオンにします。
- 両方の「ブロック」オプションをチェックします。
- 「OK」をクリックします
ページにアクセスした後にすべてのCookieを削除することもできますが、これで完全に匿名になるという目標は達成されないと思います。
少し掘り下げてみましたが、 InternetSetOptionとINTERNET_SUPPRESS_COOKIE_PERSISTフラグを使用できると思います。ドキュメントによると、これはInternetExplorer8以降でのみ機能します。
private const int INTERNET_OPTION_SUPPRESS_BEHAVIOR = 3; //INTERNET_SUPPRESS_COOKIE_PERSIST - Suppresses the persistence of cookies, even if the server has specified them as persistent.
[DllImport("wininet.dll", SetLastError = true)]
private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);
次に、アプリを初期化するときに、次のことを試してください。
InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SUPPRESS_BEHAVIOR, IntPtr.Zero, 0);
うまくいけば、これはあなたを正しい軌道に乗せるでしょう。参照:
任意のドメインのWebBrowserControlからCookieを設定および削除する方法
InternetSetOptionを使用するにはどうすればよいですか?
WinformアプリケーションでWinInetを使用して複数のWebブラウザコントロールのCookieキャッシュをクリアする