2

我正在为 Chrome 开发一个进程外插件,我需要某种可以被多个进程使用的资源管理机制(共享内存)。然后我找到了 Pepper 插件,它看起来很有希望实现我的目标。

这里在 ppapi 示例文件夹中提供了一个简单的存根插件。根据另一个文档,我可以通过以下命令加载它:

chrome.exe --ppapi-out-of-process --register-pepper-plugins="[chromium_path]\src\build\Debug\ppapi_example_cc_stub.dll;application/x-ppapi-example-stub"

问题是我没有找到一个干净的方法来加载它而不指定 dll 路径和 MIME 类型,因此可以通过启动 Chrome 可执行文件来简单地加载插件。

我想我需要向 Windows 注册表添加新项目或定义 manifest.json 文件,但我不知道如何。有人可以给我一个想法吗?

谢谢!

4

1 回答 1

0

我在开发我的 PPAPI 插件时遇到了同样的问题。但是打开 chrome://plugins,里面有 3 个 PPAPI 插件。其他是 NPAPI 插件。我修改了 PPAPI 插件 dll (pdf.dll) 的文件名。重启铬。我发现 chrome 内部 pdf 插件不起作用。

我相信PPAPI插件的注册信息是固定在chrome浏览器的可执行二进制文件中的。搜索铬的来源,我找到了这个

// File name of the internal PDF plugin on different platforms.
const FilePath::CharType kInternalPDFPluginFileName[] =
#if defined(OS_WIN)
    FILE_PATH_LITERAL("pdf.dll");
#elif defined(OS_MACOSX)
    FILE_PATH_LITERAL("PDF.plugin");
#else  // Linux and Chrome OS
    FILE_PATH_LITERAL("libpdf.so");
#endif

所以也许 npapi 更实用。

于 2012-11-03T02:53:51.380 回答