是否可以从 Windows 命令行两个都:
- 启动默认 Web 浏览器
- 和让它查询该浏览器中的默认搜索引擎
该命令在这种情况下可以正常工作:
- Firefox 是默认浏览器,Wikipedia 是默认搜索引擎
- IE 是默认浏览器,Google 是默认搜索引擎
- ETC...
如果不存在这样的命令,一个合理的替代方法是从注册表(或存储该信息的地方)检索该信息。
这可能吗?如何实现?
答案1
恐怕这是不可能的。使用默认浏览器启动指定的 URL 很容易,使用
start http://some/url
然而,查询默认搜索引擎并不那么容易,因为不同的浏览器往往会将其存储在截然不同的位置(如果有任何可访问的位置)。例如,Internet Explorer 将其搜索引擎存储在
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes
但 Firefox 和其他浏览器可能将其存储在不同的位置(我的意思是,所有浏览器通用的设置的单一统一位置会为用户带来方便,但开发人员会讨厌它,特别是如果那是一个由微软规定的单一统一位置)。
您可以尝试不同的代码路径,根据默认浏览器确定默认搜索引擎。但默认浏览器也只是松散地指定,可以通过查看与 HTTP 协议处理程序关联的程序来获取。
但这几乎就是猜测,因为悬崖的另一边有大量的工作要做。所以总的来说,我认为这几乎是不可能的,除非你付出比你想要的更多的努力。
预计到达时间: 一些浏览器(例如 Firefox)允许使用默认搜索引擎直接从命令行进行搜索:
firefox.exe -search keyword
或者
opera.exe ? keyword
但这仍然给您带来一个问题:找出默认浏览器并从中确定适当的参数。