繁体   English   中英

C#使用默认搜索查询启动默认浏览器

[英]C# Launch default browser with a default search query

我需要做的是使用默认搜索启动默认浏览器。 默认搜索是在URL导航文本框中键入搜索词时发生的情况。 例如,在Chrome和Firefox中,默认情况下,在导航文本框中输入“puppies”会引导您获得“小狗”的Google搜索结果。 在IE中,它会做同样的事情,就在Bing上。

通常,您可以通过执行以下操作来调用默认浏览器:

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

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

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

任何人都知道任何其他(最好更容易)的方式?

更新:刚发现代码中查找默认浏览器在这里

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

这似乎适用于IE和Chrome。

我刚刚测试了IE,在开始 - >运行提示中输入:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM