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

C#启动带有默认搜索查询的默认浏览器,c#,C#,我需要做的是启动带有默认搜索的默认浏览器。默认搜索是在URL导航文本框中键入搜索词时发生的情况。例如,在Chrome和Firefox中,默认情况下,在nav文本框中键入“puppies”将引导您找到“puppies”的谷歌搜索结果。在IE中,它也会做同样的事情,只是在Bing上 通常,您只需执行以下操作即可调用默认浏览器: Process.Start("http://google.com"); 但我不能假设默认的搜索提供商是谷歌 有没有办法通过C#调用此行为?我唯一能做的就是尝试确定哪个浏览器

我需要做的是启动带有默认搜索的默认浏览器。默认搜索是在URL导航文本框中键入搜索词时发生的情况。例如,在Chrome和Firefox中,默认情况下,在nav文本框中键入“puppies”将引导您找到“puppies”的谷歌搜索结果。在IE中,它也会做同样的事情,只是在Bing上

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

Process.Start("http://google.com");
但我不能假设默认的搜索提供商是谷歌

有没有办法通过C#调用此行为?我唯一能做的就是尝试确定哪个浏览器是默认浏览器,然后直接用搜索词执行它

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

更新:
刚刚找到了查找默认浏览器的代码

我刚刚测试了IE,在Start->Run提示符中输入:

c:\Program Files\Internet Explorer\iexplore.exe“堆栈溢出”

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


您可以通过检查
HKEY\U CLASSES\U ROOT\http\shell\open\command
来识别默认浏览器,然后您可以使用搜索词作为查询参数启动此浏览器,然后它应该使用该浏览器的默认搜索提供程序。

如果您已经知道如何查找默认浏览器,我会尝试使用
Process.Start(“browser\path.exe”,“\”?searchterm\”;


这似乎对IE和Chrome都有效。

您是否尝试使用带有查询的链接启动流程?例如
process.start(“https://www.google.co.uk/#sclient=psy-ab&q=我的+搜索+查询”)
@aleksey.berezan这假定google是默认的提供商。这里的问题是,可以启动网站的默认浏览器,或者启动特定浏览器的搜索,他需要一种启动默认浏览器并使用默认搜索提供商的方法。是的,我刚刚在StackOverflow上的其他地方找到了检索默认浏览器的代码,我会更新我的帖子。不过,这项技术似乎不适用于Chrome。一定与搜索词本身有关。“c:\Program Files\Internet Explorer\iexplore.exe”“堆栈溢出”会返回搜索结果。“c:\Program Files\Internet Explorer\iexplore.exe”“puppies”返回“Internet Explorer无法显示网页”尝试检索后出错。@jpreed00这是因为“stack”和“overflow”之间有空格。由于它在URL中无效,IE理解您希望使用默认搜索提供程序进行搜索。这与查找默认浏览器的代码完美结合。谢谢@DominicP不介意翻出你的一篇非常老的帖子,但任何这篇文章似乎都不适用于FireFox或Chrome v26.0.1410.64 m。。。你知道这些浏览器的参数是什么吗?@sab669我拥有的Chrome版本是30.0.1599.101 m,它在那里对我有效。查找文件系统中chrome.exe的位置(可能是用户配置文件下的…\AppData\Local\Google\chrome\Application\chrome.exe),在命令提示符下导航到该位置,然后尝试键入
chrome.exe“?abalone”
。它不会打开带有搜索结果的chrome吗?@DominicP哦,我忘了空格。它没有IE中的空间,但没有chrome。