4

We use IWebBrowser2 to display web pages but it seems to not able to see the same cookies as normal IE sees.

For example, if I log in Facebook in IE and check on Remember Me, the next time I open IE and go to Facebook then I will still stay logged in.

However, if I use IWebBrowser2 to go to Facebook, I am not logged in anymore.

It seems to me IWebBrowser2 and IE use two different sets of cookies? If so, how do I make IWebBrowser2 sees the same cookies as IE?

Thank you very much.

4

1 回答 1

1

您所经历的似乎是由松散耦合 IE (LCIE)引起的。此功能以低 完整性级别在其自己的进程中运行每个选项卡。这似乎可以防止 cookie 共享,至少如果您的程序以中等或高完整性级别运行。(使用Process Explorer查看进程的完整性级别。)

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

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

将其设置为 0,您就可以完全禁用该功能。如果密钥不存在,请创建它。(资源。)

我不确定这样做的安全隐患。一个标签崩溃将导致整个 IE 进程崩溃。但它可能会让你朝着正确的方向前进。

于 2011-11-04T17:07:05.243 回答