2010-04-16 302 views
65

如何从Google Chrome扩展程序启动外部应用程序?从Google Chrome扩展程序启动外部应用程序?

所以基本上我有一个可执行文件,当你启动它时会执行这个工作。我需要能够没有窗口(这是一个控制台应用程序)启动它,并通过当前的URL给它一个说法,

+13

如果有上帝,那么Google绝不允许任何人在任何情况下这样做。 – 2010-04-17 03:37:39

+0

你能否至少拥有自己的exe文件,你可以开始......不考虑c或C++。 – 2013-09-08 22:02:49

+3

@ Azeem.Butt如果您处于公司环境中并且所有用户明确允许这种行为,该怎么办?对我来说似乎是一个非常有用的工作流程。因此,本地消息传递(首先需要安装/运行独立的本地应用程序)似乎是一种行之有效的方式(请参阅jonny的答案) – JoeCool 2015-06-09 19:29:04

回答

18

你可以做到这一点的唯一方法是通过NPAPI插件: https://developer.chrome.com/extensions/npapi

+0

chrome建议使用MDC插件开发。因为它都谈到了为特定的MIME类型创建插件...有没有其他创建插件的在线参考... – 2013-04-18 17:34:28

+16

请注意,NPAPI正在被淘汰。请参阅:http:// stackoverflow。com/questions/19917543/execute-a-program-from-chrome-extension – Frederik 2013-11-12 15:33:05

+2

只是想指出下面的jonny的答案,这可能是最好的:http://stackoverflow.com/a/19922712/110549。本地消息传递可能是要走的路。 – JoeCool 2015-06-09 19:27:25

2

有Chrome浏览器(SimpleGet)的扩展,它具有Windows和Linux的一个插件,可以执行与命令行参数的应用.....
http://pinel.cc/
http://code.google.com/p/simple-get/
http://www.chromeextensions.org/other/simple-get/

+1

简单get是一个下载管理器,它不是他们正在寻找的。 – joanlofe 2012-11-23 12:03:58

+1

@joanlofe“,它有一个Windows和Linux插件,可以使用命令行参数执行应用程序” – PAEz 2012-11-23 18:20:57

+7

任何其他人都在看这个,扩展名使用NPAPI扩展,将在今年年底逐步淘汰。 – 2014-02-24 14:24:23

0

问题在谷歌上有一个很好的网页排名,所以对于任何正在寻找这个问题的答案的人来说,这可能会有所帮助。

有一个在谷歌浏览器市场空间的扩展,恰恰如此: https://chrome.google.com/webstore/detail/hccmhjmmfdfncbfpogafcbpaebclgjcp

+4

请注意,[只有链接的答案](http://meta.stackoverflow.com/tags/link-only-answers/info)不鼓励,所以答案应该是搜索解决方案的终点(vs.而另一个引用的中途停留时间往往会随着时间推移而过时)。请考虑在此添加独立的摘要,并将链接保留为参考。 – kleopatra 2013-08-22 09:12:29

+0

@kleopatra我为链接提供了一些上下文 – 2013-08-22 10:16:23

+0

这是一个“使用外部应用程序打开”的扩展,源位于BitBucket(https://bitbucket.org/lck/open-with-external-application)上,并且它使用SimpleGet插件。学习的好例子。 – Victor 2013-09-10 09:16:44

70

不幸的是,我没有足够的声誉穆罕默德·曼苏尔的答案以上评论。

Google is now phasing out NPAPI for Chrome,所以首选的方法是使用native messaging API。外部应用程序必须注册本地消息传递主机才能与应用程序交换消息。

+0

PPAPI呢? – Pacerier 2016-08-18 14:16:26

+0

我实际上认为你可以,使用FileIO:https://developer.chrome.com/native-client/pepper_stable – 2016-09-27 01:08:01

+0

现在不赞成:) – jujule 2018-01-19 22:00:54

2

因为我现在无法验证,所以我选择hypothesys。

使用Apache,如果您在本地计算机上调用您的可执行文件时使用了php脚本,然后通过POST或GET通过html/javascript调用此脚本?

它会起作用吗?

让我知道。

+0

当然,这将工作,如果Apache进程具有所需的权限,**但是什么是点**,然后您需要安装Apache并在**用户计算机上打开网络服务器端口** .... – Pacerier 2016-08-18 14:18:42

6

您无法启动任意命令,但如果您的用户愿意通过一些额外的设置,则可以使用custom protocols

E.g.你有用户设置的东西,以便some-app://链接启动“SomeApp”,然后在my-awesome-extension你打开一个标签指向some-app://some-data-the-app-wants,你很好去!