NPAPI火狐插件VS2013开发示例
NPAPI火狐插件VS2013开发示例
下面是我根据网上开发示例自己做的一个demo,并提供代码下载。
开发环境
Windows 8.1 x64 Visual studio 2013
准备工作
首先需要从官网下载火狐源码(也可以下载其它版本),里面有开发插件所需要的头文件。
下载后解压,并找到sdk。
注意不同版本,位置不同。
其次要确保你的Visual Studio 2013 安装了VC++
另:我的网盘下载地址:
Firefox sdk : http://pan.baidu.com/s/1gdhAmrD
Demo源码:http://pan.baidu.com/s/1kTrByC3
开始示例
- 打开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开发示例的更多相关文章
- IDEA插件(Android Studio插件)开发示例代码及bug解决
IDEA插件(Android Studio插件)开发示例代码及bug解决 代码在actionPerformed方法中,有个AnActionEvent e 插件开发就是要求我们复写上述的这个方法即可,在 ...
- openfire :openfire 不同类型插件的开发示例
新建一个自己的Javaproject工程,添加的jar包如下: 将jasper-compiler.jar.jasper-runtime.jar.servlet.jar添加到新建的工程中.如果没有jar ...
- WPF常用控件样式( 内含一简单插件式开发示例)
最近离职,离职前面的一份外派然后又外包的工作,总觉得不妥,之后外派的办个入职手续都一再失约,干脆推了.恰逢清明时节,暴雨纷纷,于是打算先休息休息调整下状态,工作的事情还是谨慎点的好,免得影响心情.话说 ...
- 关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态
关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态 由于火狐浏览器没有安装 Adobe Flash Player 19 NPAPI这个插件 安装好了之后就可以直接运行了
- [Liferay6.2]Liferay入门级portlet开发示例
什么是Portlet 来自百度百科(http://baike.baidu.com/view/58961.htm)的定义如下: portlet是基于java的web组件,处理request并产生动态内容 ...
- jQuery插件的开发
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级 ...
- 插件化开发—动态加载技术加载已安装和未安装的apk
首先引入一个概念,动态加载技术是什么?为什么要引入动态加载?它有什么好处呢?首先要明白这几个问题,我们先从 应用程序入手,大家都知道在Android App中,一个应用程序dex文件的方法数最大不能超 ...
- VBA Editor Addins --> VBE插件模板开发众筹
https://www.cnblogs.com/Charltsing/p/VBEAddins.html QQ:564955427 8月8日测试版功能说明 1.VBE菜单的创建 2.toolwindow ...
- 也来学学插件式开发续-利用MEF
前面一个博客:也来学学插件式开发中很多朋友留言说可以用MEF来实现.于是我就试着用MEF实现了一下. 步骤和上一篇差不多,只是加载插件的方式有所不同.这只是一个自己的示例程序,肯定有很多不足之处,欢迎 ...
随机推荐
- AngularJS自定义表单验证器
<!doctype html> <html ng-app="myApp"> <head> <script src="G:\\So ...
- Ant构建与部署Java项目---入门
原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建 ...
- cf D. Xenia and Hamming
http://codeforces.com/contest/357/problem/D 题意:给你两个数n和m,表示两个字符串的循环次数,然后给出两个字符串,求出其相同位置字符不同的个数. 先求出两个 ...
- Codeforces 335B Palindrome
http://codeforces.com/contest/335/problem/B 题意: 给定一个长度不超过5*10^4的只包含小写字母的字符串,要求你求它的回文子序列,如果存在长度为100的 ...
- 如何在Protel99se中批量修改元件的封装
有时候需要批量修改元件的封装,可在原理图和PCB中批量修改.本文以批量修改电阻AXIAL0.3 的封装为AXIAL0.4 为例. 1. 在原理图中批量修改1.1. 方法1双击需要修改封装的其中一个元件 ...
- zoj2314 经典 无源汇有上下界最大流 并输出可行流
ZOJ Problem Set - 2314 Reactor Cooling Time Limit: 5 Seconds Memory Limit: 32768 KB Specia ...
- jquery判断checkbox是否选中
$('input:checkbox').click(function () { if ($("#chkPile").is(":checked")) { $(); ...
- javascript 典型闭包的用法
<body><input type="radio" id="radio1" name="readionGroup" /&g ...
- HDU 3586 : Information Disturbing
Problem Description In the battlefield , an effective way to defeat enemies is to break their commun ...
- poj 3744 Scout YYF I (矩阵)
Description YYF -p. Here is the task, given the place of each mine, please calculate the probality t ...