我正在为Chrome开发一个进程外插件,我需要一些可供多个进程使用的资源管理机制(共享内存)。然后我发现了Pepper插件,看起来很有希望实现我的目标。
ppapi示例文件夹中提供的Here是一个简单的存根插件。根据{{3}},我可以通过以下命令加载它:
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文件,但我不知道如何操作。有人可以给我一个想法吗?
谢谢!
答案 0 :(得分:0)
我在开发PPAPI插件时遇到了同样的问题。但打开chrome://插件,有3个PPAPI plguins。其他是NPAPI插件。我修改了PPAPI插件dll(pdf.dll)的文件名。重启chrome。我发现chrome internel pdf插件不起作用。
我相信PPAPI插件的注册信息是固定在chrome浏览器的可执行二进制文件中的。搜索铬的来源,我找到了this。
// 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更实用。