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

标签 c# winforms webbrowser-control sessionid

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

最佳答案

要清除 session (例如 HttpOnly cookies),您可以使用 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);

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

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

关于c# - 如何重新打开或重置WebBrowser控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13220055/

相关文章:

c# - 禁用滚动电话 :webbrowser windows phone 8/8. 1

c# - Winform 数据源更新

c# - 如果我不在笔对象上调用 Dispose 会发生什么?

c# - 密码哈希不匹配

c# - 将不同的数据类型分配给类的不同实例?

c# - 如何使 PictureBox 真正透明

c# - 在 newwindow 事件中访问 newwindow

java - 模糊和聚焦紧密耦合?

javascript - 如何重新加载 <img/>?

c# - 在透明的 Windows.Form 中托管 WPF UserControl