如何在Windows上使用C ++获取firefox及其变体版本?

时间:2012-12-11 09:18:51

标签: c++ windows winapi firefox browser

Firefox有很多变种,比如Waterfox,Palemoon等。

如何获取系统中存在的所有Firefox及其变体浏览器的版本号?

使用C ++和Win32 SDK。

另一个相关问题,我怎么知道浏览器是从Firefox还是Chrome(如Comodo)派生出来的?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用此注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Clients\StartMenuInternet   // <-- x64 only

所有浏览器(甚至是可移植的浏览器)都应该自己注册(source)。 然后,查找浏览器主要可执行文件路径的command子项。例如,我的便携式Chromium可以在这里找到:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Clients\StartMenuInternet\Chromium.Y75GGO62VNIN4R2QLYJDH66X4I\shell\open\command

之后,您可以直接从.exe中提取浏览器版本 - How do I programatically get the version of a DLL or EXE file?。您也可以在GUI中查看此版本信息 - 转到文件属性(通过右键单击上下文菜单),然后转到详细信息选项卡。

便携式Chromium对我有用,但在其他非标准浏览器上没有尝试过。

答案 1 :(得分:0)

您可以尝试以下注册表项: HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla \ Mozilla Firefox \ CurrentVersion