WinForms App / RSS新闻Feed控件
我想要实现的目标是:
如果用户想要从winApp的RSS新闻源打开URL,那么
所以,一般来说,1-st和3-rd是我感兴趣的要点。
答案 0 :(得分:1)
你需要做前两部分吗?你为什么关心什么是默认浏览器?你会改变你的做法吗?
您将URL发送给shell的是什么?
如果使用.NET,并且在使用Process类时 - 向其传递链接时,它将使用默认浏览器。因此,相同的应用程序可能分别启动Chrome或IE。
还有另一个堆栈显示了如何执行此操作:http://www.highrez.co.uk/downloads/XMouseButtonControl.htm
ProcessStartInfo sInfo = new ProcessStartInfo("http://example.com/");
Process.Start(sInfo);
答案 1 :(得分:1)
System.Diagnostics.Process.Start(startUrl);
这就是全部。它会检查默认浏览器是否已打开,如果没有则运行它,并在新选项卡中打开该URL并激活它。
答案 2 :(得分:0)
这显然会因浏览器的不同而有所不同,但很明显,你几乎没有对此进行任何研究,所以我将成为你的研究帮助。
通常,您只需在路径上执行URL,默认浏览器将打开一个新选项卡或以nessesary开头。不应该有任何需要做以下事情。在您的CMD窗口中执行explorer.exe "http://google.com"
,看看它如何与各种默认浏览器一起使用。
我用Google搜索了"How to detect the default browser C#"
,得到了几个结果,第一个是How to find default web browser using C#? - 这有几个答案,第二个似乎就是你想要的答案。
知道默认浏览器后,您需要检查它是否已打开。因此,您需要为每个浏览器编译二进制名称列表(chrome为chrome.exe
),然后我们搜索"check if process is running C#"
,这会给我们How can I know if a process is running?
现在,我们知道浏览器是否正在运行。如果是,我们将有一个Process
实例 - 所以我们现在需要知道二进制位置(这很重要!)。因此,我们搜索Get the path of a running process C#
,这会给我们C#: How to get the full path of running process?
每个浏览器都有自己的机制来打开新选项卡并获得焦点,但通常需要使用一些参数执行二进制文件。对于谷歌浏览器,答案如下:https://superuser.com/questions/731467/command-line-option-to-open-chrome-in-new-window-and-move-focus
现在我们已经完成了谷歌浏览器浏览器的所有内容。重复其他浏览器,并进行类似的研究,以了解如何执行二进制文件以打开新选项卡。
如果您想要一个适用于所有浏览器的通用解决方案,那么这已经存在。只需执行explorer "yourUrl"
。