C++:如何检索已安装的Firefox插件列表



如何检索安装在C++中的Firefox插件列表?我有通过Javascript获得它的代码,但我不知道如何在C++中使用它。请帮忙。

if(navigator.plugins)
{
    for (var i = 0; i < navigator.plugins.length; i++)
    {
        alert(navigator.plugins[i].name);
    }
}
  • 对于插件DLL,请查看此处:https://developer.mozilla.org/en-US/docs/Gecko_Plugin_API_Reference/Plug-in_Basics#Plug-ins%20和%20平台%20独立性

并搜索"Gecko如何查找插件"

  • 对于插件:

您唯一的选择是枚举firefox目录。

适用于所有用户的扩展:

C: \Program Files\Mozilla Firefox \扩展

每个用户可用的扩展:

%USERPROFILE%\应用程序Data\Mozilla\Firefox\Profiles\%PPROFILENAME%\extensions(XP)

%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\%PPROFILENAME%\extensions(Vista,win7)

请注意,%PROVELENAME%不是环境变量,而是在创建配置文件时随机创建的名称。

你应该枚举Profiles文件夹来获得这个,基本上大多数用户只有一个配置文件。

当您进入概要文件目录时,请查看addons.sqlite.

有关于插件(启用/禁用状态等)的信息

您需要扫描firefox的概要文件文件夹。通常:C: \Users\login_name\AppData\Roaming\Mozilla\Firefox\Profiles\xxxx.default

在那里,如果您想要扩展,只需打开名为extensions.sqlite的sqlite数据库,并读取addon表的值。

如果您想要插件,您可以尝试解析文件pluginreg.dat

最新更新