如何为多个选项卡/窗口运行单个工具栏实例

时间:2012-12-04 13:53:55

标签: visual-c++ com mfc

我已经在VC ++中开发了一个Internet Explorer工具栏,其中用户需要登录然后我只是在菜单中更新该用户详细信息,但每当我更改选项卡时,工具栏都会退出。 如何停止为每个选项卡运行单独的工具栏实例。

1 个答案:

答案 0 :(得分:2)

工具栏是进程内COM服务器,IE本身使用进程隔离选项卡。要使状态数据在选项卡关闭/崩溃中存活,您需要将其移出IE的进程并进入代理进程。您可以通过一种进程间通信方法(例如命名管道)询问代理进程来获取状态数据。

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