NPAPI开发环境详解.pdfVIP

  • 52
  • 0
  • 约2.83千字
  • 约 21页
  • 2017-07-09 发布于河南
  • 举报
NPAPI开发环境详解.pdf

开发详解, 版 准备工作 开发工具 本例使用的是 英文版,下图是关于信息 本例使用 操作系统 这里下载 本例使用的是 提供的 。 首先,从这里下载 源码。然后,解压 文件。 将 目录解压缩出来,里面有我们开发 插件所需的所有资源。 为了方便大家使用,这里提供 的下载。 本例将 目标解压到 下(后面统一使用绝对路径,以避免异意) 创建 本着 有图有真相 的原则,下面将连续多图并配文字一步步创建、调试 。图中画红圈的代表需要填写或者需要选择 的地方。 创建项目 新建项目 项一定要以 开头,为了将来适应不同操作系统,最好全小写,不要太长,尽量控制在 字符内。 本例定义为 项定义到 以便项目属性中用相对路径引用 的 本例定义为 向导 选择 为 选择 添加文件 首先,添加 中的 文件 一共 个文件 然后,添加 文件 命名最好与项目一致 编辑 为 LIBRARY npdemo EXPORTS NP_GetEntryPoints @1 NP_Initialize @2 NP_Shutdown @3 现在,添加资源 选择 自动生成了 和 。由于要在版本信息中加项,所以手工 选择 在图中的 中添加。注意! 一定要是 VALUE MIMEType, application/demo-plugin 这里顺便说一下, 是 的唯一标示,需要自己定义 通常的格式是 本例中定义为 下面添加最关键的部分: 实现类 类名可以随便起,本例命名为 但是一定要继承自 修改 #pragma once #include pluginbase.h class CPlugin : public nsPluginInstanceBase { private: NPP m_pNPInstance; NPBool m_bInitialized; public: CPlugin(NPP pNPInstance); ~CPlugin(); NPBool init(NPWindow* pNPWindow) { m_bInitialized = TRUE; return TRUE;} void shut() { m_bInitialized = FALSE; } NPBool isInitialized() { return m_bInitialized; } }; 修改 其中实现了 个全局函数 #include plugin.h ////// functions ///////// NPError NS_PluginInitialize() { return NPERR_NO_ERROR; } void NS_PluginShutdown() { } nsPluginInstanceBase * NS_NewPluginInstance(nsPluginCreateData

文档评论(0)

1亿VIP精品文档

相关文档