使用文件URL启动Edge

时间:2018-08-26 14:25:57

标签: c# winforms microsoft-edge

The answer to this question显示了如何使用来自C#的Web URL启动Edge:

System.Diagnostics.Process.Start("microsoft-edge:http://www.google.com");

但是,这似乎不适用于文件URL。

System.Diagnostics.Process.Start("microsoft-edge:file:///C:/foo/bar.html");

启动Edge,但不显示文件。而是,Edge打开到其默认页面。将相同的URL(“ file:/// C:/foo/bar.html”)粘贴到Edge地址栏中可以正常工作,如果我在资源管理器中右键单击该文件并选择Open With-> Edge,则可以使用相同的URL出现在地址栏中。

有人知道如何使用文件URL启动Edge吗?

TIA

2 个答案:

答案 0 :(得分:1)

如注释中所述,Edge目前不支持通过命令行使用file:协议。

但是,目前可以使用IApplicationActivationManager用本地文件启动Edge。可以从MicrosoftEdgeLauncher的C#版本中提取必要的代码,并将其集成到C#应用程序中。

请参见https://github.com/MicrosoftEdge/edge-launcher上的“ MicrosoftEdgeLauncherCsharp”。要使用本地文件启动,请使用'file:/// d:/path/filename.ext '作为arguments的{​​{1}}参数。

答案 1 :(得分:0)

一个肮脏的解决方案:首先将默认启动器设置为Edge。

假设您要打开的文件为file:///C:/foo/bar.html,则可以使用explorer启动它:

explorer file:///C:/foo/bar.html

这将为您打开带有HTML的Edge。 这似乎是start microsoft-edge:file:///C:/foo/bar.html不再有效之后的唯一解决方案。