NPAPI火狐插件VS2013开发示例

下面是我根据网上开发示例自己做的一个demo,并提供代码下载。

开发环境

Windows 8.1 x64 Visual studio 2013

准备工作

首先需要从官网下载火狐源码(也可以下载其它版本),里面有开发插件所需要的头文件。

官网下载地址:,http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/33.0/source/firefox-33.0.source.tar.bz2

下载后解压,并找到sdk。

注意不同版本,位置不同。

其次要确保你的Visual Studio 2013 安装了VC++

另:我的网盘下载地址:

Firefox sdk : http://pan.baidu.com/s/1gdhAmrD

Demo源码:http://pan.baidu.com/s/1kTrByC3

开始示例

  1. 打开VS2013 文件à 新建项目à Win32项目

    找到np_entry.cpp,npn_gate.cpp,npp_gate.cpp

    将这三个文件拷贝到解决方案根目录下。

    添加后

    改成

    然后,在项目右键添加C++类

    项目右键添加新建项

    添加内容:

LIBRARY "nptest"

EXPORTS

NP_GetEntryPoints @1

NP_Initialize @2

NP_Shutdown @3

到此,插件做完了。

编译成功。如果遇到问题,请注意配置及头文件是否添加正确。

写入注册表:

HKEY_CURRENT_USER\Software\MozillaPlugins\@pyc.com/nptest;version=1.0

添加path指向生成的dll

在火狐下输入:about:plugins 刷新即可看到。

小结

本文档仅记录开发过程,以便自己以后查阅。如有错误欢迎指正。因本人不熟悉VC++,所以也说不出个123,不过我有一颗热忱的心,爱学习。我认为语言都是相同的,只要功夫深,铁棒也能磨成针。 NPAPI基本常识请参考我的另一篇文章:http://www.cnblogs.com/lipanpan/p/4178754.html

NPAPI火狐插件VS2013开发示例的更多相关文章

  1. IDEA插件(Android Studio插件)开发示例代码及bug解决

    IDEA插件(Android Studio插件)开发示例代码及bug解决 代码在actionPerformed方法中,有个AnActionEvent e 插件开发就是要求我们复写上述的这个方法即可,在 ...

  2. openfire :openfire 不同类型插件的开发示例

    新建一个自己的Javaproject工程,添加的jar包如下: 将jasper-compiler.jar.jasper-runtime.jar.servlet.jar添加到新建的工程中.如果没有jar ...

  3. WPF常用控件样式( 内含一简单插件式开发示例)

    最近离职,离职前面的一份外派然后又外包的工作,总觉得不妥,之后外派的办个入职手续都一再失约,干脆推了.恰逢清明时节,暴雨纷纷,于是打算先休息休息调整下状态,工作的事情还是谨慎点的好,免得影响心情.话说 ...

  4. 关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态

    关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态 由于火狐浏览器没有安装 Adobe Flash Player 19 NPAPI这个插件 安装好了之后就可以直接运行了

  5. [Liferay6.2]Liferay入门级portlet开发示例

    什么是Portlet 来自百度百科(http://baike.baidu.com/view/58961.htm)的定义如下: portlet是基于java的web组件,处理request并产生动态内容 ...

  6. jQuery插件的开发

    jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级 ...

  7. 插件化开发—动态加载技术加载已安装和未安装的apk

    首先引入一个概念,动态加载技术是什么?为什么要引入动态加载?它有什么好处呢?首先要明白这几个问题,我们先从 应用程序入手,大家都知道在Android App中,一个应用程序dex文件的方法数最大不能超 ...

  8. VBA Editor Addins --> VBE插件模板开发众筹

    https://www.cnblogs.com/Charltsing/p/VBEAddins.html QQ:564955427 8月8日测试版功能说明 1.VBE菜单的创建 2.toolwindow ...

  9. 也来学学插件式开发续-利用MEF

    前面一个博客:也来学学插件式开发中很多朋友留言说可以用MEF来实现.于是我就试着用MEF实现了一下. 步骤和上一篇差不多,只是加载插件的方式有所不同.这只是一个自己的示例程序,肯定有很多不足之处,欢迎 ...

随机推荐

  1. AngularJS自定义表单验证器

    <!doctype html> <html ng-app="myApp"> <head> <script src="G:\\So ...

  2. Ant构建与部署Java项目---入门

    原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建 ...

  3. cf D. Xenia and Hamming

    http://codeforces.com/contest/357/problem/D 题意:给你两个数n和m,表示两个字符串的循环次数,然后给出两个字符串,求出其相同位置字符不同的个数. 先求出两个 ...

  4. Codeforces 335B Palindrome

    http://codeforces.com/contest/335/problem/B 题意:  给定一个长度不超过5*10^4的只包含小写字母的字符串,要求你求它的回文子序列,如果存在长度为100的 ...

  5. 如何在Protel99se中批量修改元件的封装

    有时候需要批量修改元件的封装,可在原理图和PCB中批量修改.本文以批量修改电阻AXIAL0.3 的封装为AXIAL0.4 为例. 1. 在原理图中批量修改1.1. 方法1双击需要修改封装的其中一个元件 ...

  6. zoj2314 经典 无源汇有上下界最大流 并输出可行流

    ZOJ Problem Set - 2314 Reactor Cooling Time Limit: 5 Seconds      Memory Limit: 32768 KB      Specia ...

  7. jquery判断checkbox是否选中

    $('input:checkbox').click(function () { if ($("#chkPile").is(":checked")) { $(); ...

  8. javascript 典型闭包的用法

    <body><input type="radio" id="radio1" name="readionGroup" /&g ...

  9. HDU 3586 : Information Disturbing

    Problem Description In the battlefield , an effective way to defeat enemies is to break their commun ...

  10. poj 3744 Scout YYF I (矩阵)

    Description YYF -p. Here is the task, given the place of each mine, please calculate the probality t ...