如何从Google Chrome扩展程序向桌面应用程序发送消息?

时间:2012-08-21 13:51:52

标签: winapi google-chrome google-chrome-extension message desktop-application

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

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

我可以使用哪些IPC对象?

4 个答案:

答案 0 :(得分:7)

我看到三个选项:

  1. 您可以使用互联网。您可以使用Chrome扩展程序和桌面应用程序进行通信的远程服务进行通信。
  2. 您可以让您的桌面应用内置一个简单的服务器,以便Chrome扩展程序可以向其发送本地http请求以与之通信。
  3. 使用Google NPAPI插件功能可以完全访问计算机。 Now deprecated

答案 1 :(得分:6)

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

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

答案 2 :(得分:2)

这几乎肯定需要自定义NPAPI plugin,并且无法使用基本扩展API。 NPAPI的发展相当艰巨,超出了我的专业领域,但随时可以阅读Google's documentation on the subject

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

答案 3 :(得分:2)

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

见这里:

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