1

我想从我的 chrome 扩展中调用一个使用 C 语言编写的 Dll 中的导出函数。但没有获得关于如何做到这一点的足够信息。

在 Firefox 中,我在我的扩展 js 文件中使用下面提到的代码来执行此操作,但同样不适用于 chrome。

var InstallPath="C:\\FRViewPortExtn.dll";

Components.utils.import("resource://gre/modules/ctypes.jsm");


var lib = ctypes.open(InstallPath); 
/* Declare the signature of the function we are going to call */
passBrowserResizeData = lib.declare("SetViewPort",
ctypes.winapi_abi,
ctypes.void_t,
ctypes.int32_t,
ctypes.float32_t,
ctypes.int32_t,
ctypes.int32_t);

并使用

passBrowserResizeData(6,7,8,9);

请帮助我了解如何使用 chrome exteniosns 来完成

4

1 回答 1

1

相对于清单文件放置 FRViewPortExtn.dll 并将以下代码添加到 manifest.json

"plugins": [
    { "path": "FRViewPortExtn.dll", "public": true },
  ],

把这段代码放到你的 JS(content js\background js\extension js)

var plugin = document.getElementById("pluginId");
var result = plugin.passBrowserResizeData(6,7,8,9);  // call a method in your plugin

有关更多信息,请参阅https://developer.chrome.com/extensions/npapi.html

于 2012-11-22T11:38:19.277 回答