C++ 跨平台浏览器检测

C++ 跨平台浏览器检测,c++,firefox,browser,cross-platform,wxwidgets,C++,Firefox,Browser,Cross Platform,Wxwidgets,有人能帮我吗?我需要一种跨平台的方法来检测是否安装了浏览器,例如是否安装了Firefox、是否安装了Safari等。 如果这有帮助的话,我正在为我的GUI库使用wxWidgets 我可以在windows上查看注册表,但不确定如何查找Linux和Mac浏览器。宁愿选择一条干净的跨平台道路,而不是几条 如果(windows) 然后搜索注册表 如果(Mac) 那就做点别的吧 等等 谢谢你,你怎么了 为什么不使用几种检测方法呢?然后可以在wxWidgets本身中实现此功能。毕竟,wxWidgets正是这

有人能帮我吗?我需要一种跨平台的方法来检测是否安装了浏览器,例如是否安装了Firefox、是否安装了Safari等。 如果这有帮助的话,我正在为我的GUI库使用wxWidgets

我可以在windows上查看注册表,但不确定如何查找Linux和Mac浏览器。宁愿选择一条干净的跨平台道路,而不是几条 如果(windows) 然后搜索注册表

如果(Mac) 那就做点别的吧 等等

谢谢你,你怎么了


为什么不使用几种检测方法呢?然后可以在wxWidgets本身中实现此功能。毕竟,wxWidgets正是这样做的,它只是使用隐藏在背后的平台细节的函数将其抽象出来。

许多现代*nix定义了一个“浏览器”环境变量。我相信wxlaunchdefaultbrowser只启动浏览器,不报告是否安装了browser X。这取决于您想做什么。如果您只想打开任何浏览器来显示URI,请使用该浏览器。如果你想打开一个特殊的浏览器,你必须自己检查。但话说回来,我不知道你想要实现什么……但要注意,有些人只安装了rekonq。所以,总是让你的用户可以随意添加自己的浏览器。是的,这就是我希望以跨平台的方式进行的“检查”。我正试图模拟Dreamweaver CS5在浏览器中的文件->预览功能,它提供了用户已安装的浏览器列表,而不仅仅是使用用户的默认浏览器。虽然在Dreamweaver中做得并不完美,但它似乎没有检测到我安装了safari。dSo只允许用户配置您的程序。用户输入名称(rekonq)并使用打开文件对话框(/usr/bin/rekonq)选择文件。这样用户就完全免费了。他甚至可以安装任何浏览器的各种不同版本,并将它们全部放在他的列表中。与Firefox for Unix“查找已安装的插件”类似,您可以添加某种向导,该向导执行
,其中
并列出所有插件。您维护该列表
[“firefox”、“rekonq”、“konqueror”、“lynx”]
。用户只需选择任何找到的项目来填充列表。允许用户添加自己的其他浏览器是一个好主意,但我希望能够检测流行浏览器并预先填充列表,从而为用户节省一些时间。