Visual c++ 如何为ie的多个选项卡/窗口运行工具栏的单个实例

Visual c++ 如何为ie的多个选项卡/窗口运行工具栏的单个实例,visual-c++,com,mfc,Visual C++,Com,Mfc,我在VC++中开发了一个internet explorer工具栏,用户需要登录,然后我只需在菜单中更新该用户的详细信息,但每当我更改选项卡时,工具栏就会注销。 如何停止为每个选项卡运行单独的工具栏实例 工具栏是进程内COM服务器,IE本身对选项卡使用进程隔离。为了使您的状态数据在选项卡关闭/崩溃时仍然有效,您需要将其从IE的进程中移出,并转移到代理进程中。您可以通过进程间通信方法之一(例如命名管道)请求代理进程来获取状态数据 要在选项卡之间同步状态,请将数据保存到旧选项卡中的代理进程,并向代理进

我在VC++中开发了一个internet explorer工具栏,用户需要登录,然后我只需在菜单中更新该用户的详细信息,但每当我更改选项卡时,工具栏就会注销。
如何停止为每个选项卡运行单独的工具栏实例

工具栏是进程内COM服务器,IE本身对选项卡使用进程隔离。为了使您的状态数据在选项卡关闭/崩溃时仍然有效,您需要将其从IE的进程中移出,并转移到代理进程中。您可以通过进程间通信方法之一(例如命名管道)请求代理进程来获取状态数据


要在选项卡之间同步状态,请将数据保存到旧选项卡中的代理进程,并向代理进程询问新选项卡的DWebBrowserEvents2::WindowsStateChanged事件处理程序中的状态数据。

谢谢您的回答,但我还不明白,你能给我举个例子吗?我是一个新手。检查一个代理流程的例子。蒋:谢谢,我对IE事件还有一个疑问。我如何区分IE tab close和IE close。两者都会触发相同的DISPID_ONQUIT事件。清理的位置在IObjectWithSite::SetSite中。没有界面来区分选项卡关闭和窗口关闭(注意,IE在关闭窗口时可能仍有另一个窗口和它自己的代理进程在运行)