启动带有默认搜索查询的默认浏览器

本文关键字:查询 默认浏览器 搜索 默认 启动 | 更新日期: 2023-09-27 18:14:01

我需要做的是用默认搜索启动默认浏览器。默认搜索是当您在URL导航文本框中键入搜索条件时发生的搜索。例如,在Chrome和Firefox中,默认情况下,在导航文本框中输入"小狗"将会引导你进入"小狗"的谷歌搜索结果。在IE中,它也会做同样的事情,只是在Bing上。

通常,您只需执行以下操作即可调用默认浏览器:

Process.Start("http://google.com");

但我不能假设默认的搜索提供商是谷歌。

是否有一种方法可以通过c#调用此行为?我唯一能做的就是试着确定哪个浏览器是默认的,然后直接用搜索词执行它。

有谁知道其他(最好是更简单的)方法吗?

更新:刚刚找到代码来查找默认浏览器。

启动带有默认搜索查询的默认浏览器

如果你已经知道如何找到默认浏览器,我会尝试使用Process.Start("browser'path.exe", "'"? searchterm'"");

这似乎对IE和Chrome都有效

我刚刚测试了IE,通过在开始->运行提示符中输入以下内容:

"c:'Program Files'Internet Explorer' iexplorer .exe" "stack overflow"

它启动了Internet Explorer,并使用我的默认搜索提供程序搜索堆栈溢出。由于您的搜索条件不是以http://开头的标准url,因此如果您不提供您想要启动的特定可执行文件,Process.Start就无法知道如何启动浏览器。

您可以通过检查HKEY_CLASSES_ROOT'http'shell'open'command来识别默认浏览器,然后您可以使用搜索条件作为查询参数启动该浏览器,然后它应该使用该浏览器的默认搜索提供程序。