11

我有一个 Windows 桌面应用程序,它必须与我的 Chrome 扩展程序协同工作。

我可以通过 Google Chrome 扩展以某种方式向我的桌面应用程序发送消息吗?

我可以使用哪些 IPC 对象?

4

4 回答 4

9

我看到三个选项:

  1. 你可以使用互联网。您可以拥有一个远程服务,Chrome 扩展程序和您的桌面应用程序都可以与之通信,以进行通信。
  2. 您可以让您的桌面应用程序内置一个简单的服务器,以便 chrome 扩展程序可以向它发出本地 http 请求以与之通信。
  3. 使用 Google NPAPI 插件功能可以完全访问计算机。 现在已弃用
于 2012-08-21T14:27:55.813 回答
8

如今,您将使用 Chrome 的原生消息传递 API 将消息从您的扩展程序发送到原生消息传递主机。后者可以是“真正的”可执行文件,然后将消息传递到您的桌面应用程序。

文档:http: //developer.chrome.com/extensions/messaging#native-messaging-host

于 2014-03-03T17:21:18.760 回答
3

chrome 扩展有一个native massage api与本机进程通信,

看这里:

https://developer.chrome.com/apps/nativeMessaging

于 2016-09-03T17:43:05.590 回答
2

这几乎肯定需要一个自定义的NPAPI 插件,并且不能使用基本的扩展 API 来完成。NPAPI 开发相当艰巨,超出了我的专业领域,但请随意阅读Google 关于该主题的文档

作为替代方案,也许您可​​以让您的桌面应用程序轮询扩展的内部。例如,扩展程序的沙盒文件系统中可能有一个文件,它会在其中留下消息供桌面应用程序查找。这种方法不是最理想的,因为它需要轮询而不是推送,但它确实为您节省了编写 NPAPI 插件的麻烦。

于 2012-08-21T14:02:06.300 回答