是否可以在Windows窗体中“沙盒化”IE?

时间:2009-08-26 15:35:00

标签: c# winforms

假设我在Windows窗体中有一个webbrowsercontrol,用户从表单登录到一个安全的站点。如果用户单独打开IE,它也会显示它们已登录。是否可以隔离Windows窗体的IE实例?

4 个答案:

答案 0 :(得分:2)

WebBrowser控件构建在WebBrowser ActiveX之上,后者位于WinInet之上。因此,您应该能够通过WinInet API影响其行为。

您可以尝试调用InternetSetOption WinInet API来设置INTERNET_OPTION_END_BROWSER_SESSION选项以结束当前会话并启动新会话。要确保呼叫仅影响当前进程,请使用INTERNET_HANDLE_TYPE_INTERNET句柄。

答案 1 :(得分:1)

你没有提到你的版本;行为从IE7更改为IE8。

在IE7和IE6中,您可以打开多个窗口并在一个站点上使用不同的用户ID进行身份验证。

在IE8中,您的会话状态在浏览器会话中共享。

您可以打开隐私模式的IE;这应该允许会话沙盒化。

答案 2 :(得分:1)

IE8具有命令行开关-nomerge,它使用新会话启动浏览器

答案 3 :(得分:0)

当您登录网站时,您通常会从服务器传递一个cookie,标记您已“登录”(非常简单......)。我的猜测是删除cookie。见这里:

How to delete Cookies from windows.form?