2010-10-05 121 views
4

我们使用IWebBrowser2来显示网页,但似乎无法看到与正常IE浏览器相同的cookie。IWebBrowser2和IE浏览器中的Cookie

例如,如果我登录Facebook在IE和检查记住,下一次我打开IE浏览器,并转到Facebook的话,我仍然会留在记录。

但是,如果我用的IWebBrowser2去到Facebook,我不再登录。

在我看来,IWebBrowser2和IE使用两套不同的cookie?如果是这样,我该如何让IWebBrowser2看到与IE相同的cookie?

非常感谢。

+0

你使用IWebBrowser2的过程是什么? – 2010-10-05 16:15:52

+0

过程?对不起,我不了解这个问题。 – TopQ 2010-10-05 16:26:25

回答

1

您的体验似乎是由Loosely Coupled IE (LCIE)造成的。此功能通过lowintegrity level运行其各个选项卡。这似乎可以防止Cookie共享,至少如果您的程序以中等或较高的完整性级别运行。 (使用Process Explorer可查看进程的完整性级别。)

如果禁用每个选项卡进程以便每个选项卡在主IE进程(具有中等完整性级别)内运行,那么此IE和IWebBrowser2之间的Cookie共享将起作用。要禁用您必须创建/编辑注册表项。您可以在此处调整制表符的使用数量:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\TabProcGrowth 

将其设置为0并且您完全禁用该功能。如果密钥不存在,请创建它。 (Source.)

我不确定这样做的安全含义。而一个标签崩溃将会导致整个IE进程崩溃。但它可能会让你走向正确的方向。