2009-06-11 105 views
4

我开发了一个用于C#中的Internet Explorer的工具栏,用于从外部应用程序发送和接收URL。它在IE6中运行得很好,但我想利用新版本(IE7)中的标签浏览功能,但我遇到了麻烦。看起来在IE7中,每个选项卡都会统计一个单独的实例,因此也是我的工具栏的单独实例。IE7中的多个选项卡,带有工具栏的一个实例

对于我来说,我找不到在单个IE窗口的每个选项卡上都显示单个实例的方法。我所能做的就是将注册为ROT的COM对象,并让每个实例进行通信并反映所有其他实例,但这似乎是不必要的复杂。有没有人找到解决方法?

+0

这将在IE 8是更困难的,因为每个标签可以以不同的方法来运行。 – Michael 2009-06-11 19:34:50

回答

1

因为您没有多说什么工具栏正在做什么,我会假设当您打开多个选项卡时,它会占用一些资源......内存,网络,远程资源上的连接等。

而不是确保只有一个实例在运行,我的建议是跟踪哪个标签处于活动通过听取WindowStateChanged事件,那么你可以做各种各样的事情:

  • 关闭您通讯,而它是无效的。
  • 通知远程源选项卡未激活。
  • 只是不在非活动选项卡中显示通知。
  • 停止您在工具栏中运行的所有线程。
  • 等等
相关问题