【发布时间】:2012-07-13 10:26:59
【问题描述】:
我编写了一个 Chrome 扩展程序(也带有 NPAPI),它允许我的应用程序和 Chrome 相互通信。这一切都很好。
我现在要做的是能够将 Chrome 窗口的 HWND 绑定到特定的窗口 ID 和选项卡 ID。
当我在 Chrome 中(通过插件)时,我有选项卡 ID 和窗口 ID,我可以基于它执行大多数操作。
当我在 Chrome 之外(通过我的应用程序)时,我可以看到窗口结构并获取各个选项卡的 HWND。
有什么方法可以将它们可靠地绑定在一起,以便我的应用程序可以告诉 Chrome 获取有关/来自特定标签的信息?
【问题讨论】:
-
您需要什么样的信息?
-
这种方法很脆弱,因为它取决于浏览器的实现细节。你到底想用这个实现什么?
-
对于短期场景,我需要能够说当我的应用遇到 Chrome 窗口时,它可以以某种方式使用 HWND 向插件询问有关该特定窗口/选项卡的信息。没有办法(我可以看到)从插件外部获取 TabID/WindowID ......也没有办法在插件内部获取 HWND。所以我基本上只是想弄清楚如何将这些信息联系在一起。
-
请记住,插件已售罄。我不知道扩展是否有更简单的方法,但是如果您将插件注入页面,您可能能够检索父进程或其 id。或者,您可以尝试通过插件窗口或绘图上下文访问父级。请记住,所有这些都取决于 Chrome 的多进程架构的细节(我没有研究过),并且可能会在未来的版本中中断。
-
s/out of press/out of process/
标签: google-chrome google-chrome-extension npapi window-handles