2012-08-29 30 views
1

如何檢索C++中安裝的Firefox插件列表?我有代碼來通過Javascript,但我不知道如何在C++中使用它。 請幫忙。C++:如何檢索安裝的Firefox插件列表?

if(navigator.plugins) 
{ 
    for (var i = 0; i < navigator.plugins.length; i++) 
    { 
     alert(navigator.plugins[i].name); 
    } 
} 
+2

您的代碼不會告訴你,除非它是由Firefox的使用Firefox插件列表插件。因此,要求C++等價物並沒有什麼意義,因爲C++程序永遠不可能處於這種情況下。 (它的源代碼不能由Firefox加載和執行。) –

+1

它們是基於註冊表鍵和已知路徑加載的; http://mike.kaply.com/2012/02/16/how-firefox-loads-plugins/ –

回答

0

,並搜索 「壁虎如何找到插件

  • 對於插件:

你唯一的選擇是枚舉firefox目錄。適用於所有用戶

擴展:

C:\ Program Files文件\ Mozilla Firefox的\擴展

基於每個用戶提供

擴展:

%USERPROFILE%\應用 Data \ Mozilla \ Firefox \ Profiles \%PROFILENAME%\ extensions(XP)

%USERPROFILE%\應用程序數據\漫遊\ Mozilla的\火狐\ Profiles文件\%PROFILENAME%\擴展 (Vista中,Win7的)

注意%PROFILENAME%不是環境變量,但輪廓創建過程中隨機生成的名稱。

你應該enum Profiles文件夾來獲得這個,基本上大多數用戶只有一個配置文件。

當你進入配置文件目錄時,看看addons.sqlite

大約有插件的相關信息(啓用/禁用狀態,等...)

0

您需要掃描的Firefox的配置文件的文件夾。 通常: C:\用戶\ LOGIN_NAME \應用程序數據\漫遊\ Mozilla的\火狐\ Profiles文件\ xxxx.default

在那裏,如果你想擴展,只需打開名爲extensions.sqlite SQLite數據庫,讀取值表addon

如果你願意,你可以嘗試解析該文件pluginreg.dat