如何重新打开或重置WebBrowser控件?

时间:2012-11-04 15:42:40

标签: c# winforms webbrowser-control sessionid

我正在使用WebBrowser控件编写Windows窗体应用程序,我需要在Web服务器上更改Session ID。我该怎么做?有没有重启或重新打开浏览器的方法?

1 个答案:

答案 0 :(得分:2)

要清除会话(例如HttpOnly cookie),您可以使用wininet.dll中的InternetSetOption()。

private const int INTERNET_OPTION_END_BROWSER_SESSION = 42;

[DllImport("wininet.dll", SetLastError = true)]
private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);

并在需要清除会话时使用此方法。

InternetSetOption(IntPtr.Zero, INTERNET_OPTION_END_BROWSER_SESSION, IntPtr.Zero, 0);
webBrowser1.Document.Window.Navigate(url);