Chrome 在 windows 系统上执行命令的 PPAPI 插件

Chrome PPAPI plugin to execute commands on windows system

我们之前使用 NPAPI 插件从我们的网站在 windows 系统上执行一些命令。现在 NPAPI 消失了,我们正在尝试将东西移植到 PPAPI 或 NaCl,但似乎存在很多问题。

  1. Google 似乎为 Visual Studio 2010 和 Visual Studio 2012 提供 vs_addin,但在链接阶段尝试将代码编译为 Pepper 插件时总是出错.该错误与 _MSC_VER 不匹配有关,因为 PPAPI 库中的对象文件似乎具有 1800 版本,其中 VS2010 和 VS2012 的值应该分别为 1600 或 1700。
  2. 为了解决这个问题,我们尝试下载旧的 pepper 副本,但 SDK 不提供它。不知何故我们在互联网上找到了 pepper_25 版本,但似乎 postmessage 功能对插件不可用。
  3. 尝试使用脚本化对象,但看起来对它们的支持实际上早在 chrome 13 年的某个时候就被删除了?
  4. 如果我们尝试将其构建为 NaCl 插件,那么我们将无法访问 windows 函数(如 ShellExecuteA),因为相应的库未包含在内。尝试仅包含库会导致更多错误。
  5. 这可以通过使用本地消息传递的扩展来实现,但是网站不能直接与扩展交互,除非扩展在网页上放置内容脚本。作为网站的用户,可以在自己的系统上安装网站,我们必须扫描并在所有网页上添加内容脚本,这似乎不是一个好的选择,因为它会导致系统速度变慢。

TLDR:

现在的问题是,我们如何构建一个可以在 windows 上执行命令的 chrome 插件?

感谢和问候

简短的回答是,(按设计)无法分发可以访问本机平台 API 的插件。 VS 插件有一种编译方法,但它只会在您的本地计算机上 运行。你可以开发一个 NaCl 或 PNaCl 插件,但它仅限于 NaCl 的 API 加上 Javascript。如果您需要本机 API,那么您可能需要查看 native messaging.