2009-06-11 60 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事件,那麼你可以做各種各樣的事情:

  • 關閉您通訊,而它是無效的。
  • 通知遠程源選項卡未激活。
  • 只是不在非活動選項卡中顯示通知。
  • 停止您在工具欄中運行的所有線程。
  • 等等
相關問題