thunderbird 二次开发 xpcom 获取 pref 配置
admin | firefox 插件, xul | 2015-01-06
C++
bool showProgress = false;
nsCOMPtr<nsIPrefBranch> prefBranch (do_GetService(NS_PREFSERVICE_CONTRACTID));
if (prefBranch)
prefBranch->GetBoolPref("mailnews.show_send_progress", &showProgress);
1234
bool showProgress = false;nsCOMPtr<nsIPrefBran... [阅读全文]
js ctypes 操作注册表
admin | firefox 插件, xul | 2014-11-28
JavaScript
function getLocalVersion(){
//::RegSetValueExA(m_hkey, key.c_str(), 0, REG_SZ, (BYTE*)val.c_str(), (DWORD)val.size());
//if (::RegOpenKeyExA(hkey, subKey.c_str(), 0, KEY_ALL_ACCESS, &m_hkey) != ERROR_SUCCESS)
var lib = ctypes.open("Advapi32.dll");
var RegQueryValueExW = lib.d... [阅读全文]
我的Firefox插件开发之旅(8)——插件的安装与更新
admin | firefox 插件 | 2013-01-30
插件写好了,下面就该做一个安装包了。最好再提供更新功能,以便在插件有更新的时候,及时通知用户进行插件更新。
我们开发的时候,直接将生成的dll丢到Firefox安装目录下的plugins目录就可以工作了,但是你如何说服让用户来手动完成这件事情?估计很难。因此,提供一个安装包,可能是最好的选择。用户只需要点几下鼠标就可以完成插件的安装了。
... [阅读全文]
我的Firefox插件开发之旅(7)——为插件添加和脚本交互的能力
admin | firefox 插件 | 2013-01-30
先说一句题外话,上一节一开始我提到了由于.rc导致我自己写的插件不能被FF识别的问题,今天终于找到答案了。在这篇文章中:https://developer.mozilla.org/en/Gecko_Plugin_API_Reference/Plug-in_Development_Overview,有这么一段话:In your development environment, make sure your language is set to "US English" and the characte... [阅读全文]
我的Firefox插件开发之旅(6)——FF插件的一些基础知识
admin | firefox 插件 | 2013-01-30
上篇文章学习了npruntime的例子程序,接下来迫不及待地想实现自己的一个插件了。我决定使用VS 2005来做。
新建了一个名为npgnet的工程,按照npruntime例子,新建了np_entry.cpp、npn_gate.cpp、npp_gate.cpp、npgnet.def四个文件,然后新建了一个类CGnetFFPlugin,并且把例子中的关键代码添加了进来(我删除了一些cplugin类中的函数实体代码,因为... [阅读全文]
我的Firefox插件开发之旅(5)——编译和测试第一个Plugin例子:npruntime
admin | firefox 插件 | 2013-01-30
前几天一直在忙乎着研究和阅读XUL和FF的Extension相关资料,今天突然发现,我要做得事情似乎不是用Extension来实现的。因为原来的应用是一个ActiveX,网页会将一些参数通过ActiveX控件传递进来,而ActiveX接到这些参数以后,会和服务器进行一些数据交互,最后调起本地的执行程序。似乎我走了一些弯路,方向不对。我要做得事情应该是编写一个Plugin,... [阅读全文]
我的Firefox插件开发之旅(4)——XULRunner的一个例子
admin | firefox 插件 | 2013-01-30
上一节写了一个Extension,添加了一个按钮在FF3的工具栏上。接下来我准备在这个基础上添加一个功能,点击按钮,读取本地磁盘上一个文件的内容,并显示出来。怎么做呢?用Javascript吗?因为我最终的目标是从服务器上下载文件,也可能会传输本地文件到服务器上,用Javascript访问本地文件有诸多限制,而且也无法完成复杂的功能。所以最好是能够调用我... [阅读全文]
我的Firefox插件开发之旅(3)——我的第一个扩展
admin | firefox 插件 | 2013-01-30
简单知道了XUL,迫不及待地想立即编写一个插件,哪怕什么事情都不做也好。O(∩_∩)O
通过这个页面https://developer.mozilla.org/en/Building_an_Extension,可以找到编写一个插件必须要做得一些事情,写的很清楚。最后产生的目录和文件结构是这个样子:
install.rdf
chrome.manifest
chrome
|–content
... [阅读全文]
我的Firefox插件开发之旅(2)——XUL是什么?
admin | firefox 插件 | 2013-01-30
What is XUL?这个页面给出了详细的介绍:http://www.xulplanet.com/tutorials/whyxul.html。
看完后,了解了XUL原来是一个支持多种WEB技术的、基于XML的界面开发语言。它既可以在远程执行,也可以安装到本地执行。
在XUL中内置了很多界面元素,如菜单、按钮、分页等等,这样就不需要自己编写很多JS来维护和控制很多界面元素了。而且,这些界面是... [阅读全文]
我的Firefox插件开发之旅(1)——从零开始
admin | firefox 插件 | 2013-01-30
准备做一个Firefox插件,用来接收从WEB页面传递的参数,根据这些参数从服务器上下载一些文件到本地,并调起本地的一个应用程序。
以前在IE中是使用一个ActiveX来实现的。FF的插件从来没有做过,不知道将来会遇到多少困难。
在网上发现一个页面:http://ted.mielczarek.org/code/mozilla/extensionwiz/,它提供了一个FF扩展的生成向导,... [阅读全文]