从扩展程序中获取Chrome标签的窗口句柄?

时间:2012-07-13 14:39:20

标签: google-chrome google-chrome-extension npapi window-handles

我已经编写了Chrome扩展程序(也带有NPAPI),允许我的应用程序和Chrome相互通信。这一切都很好。

我现在要做的是能够将Chrome窗口的HWND与特定的窗口ID&标签ID。

当我在Chrome内部(通过插件)时,我有Tab ID和Window ID,我可以根据它进行大部分操作。

当我在Chrome之外(通过我的应用程序)时,我可以看到窗口结构并获得各种标签的HWND。

有什么方法可以将它们可靠地绑在一起,以便我的应用程序可以告诉Chrome向我提供有关特定标签的信息吗?

1 个答案:

答案 0 :(得分:2)

如果你有Spy ++,你会发现网站标题与标签窗口标题保持一致。你绝对应该使用它。

要消除标题冲突,只需从扩展程序中调用chrome.tabs.query()chrome.tabs.update()即可保存,更改和恢复标签页的标题。然后使用GetCurrentProcess()EnumWindows() / WindowEnumProc()获取子窗口层次结构并匹配您的自定义标题。您必须将它传递给EnumWindowsProc回调函数。