[英]Launching Edge with a file URL
这个问题的答案显示了如何从 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 地址栏中效果很好,如果我在资源管理器中右键单击该文件并选择“打开方式”->“Edge”,则相同的 URL出现在地址栏中。
有谁知道如何使用文件 URL 启动 Edge?
TIA
如评论中所述,Edge 目前不支持通过命令行使用 file: 协议。
但是,目前可以使用IApplicationActivationManager
使用本地文件启动 Edge。 必要的代码可以从 MicrosoftEdgeLauncher 的 C# 版本中提取并集成到 C# 应用程序中。
请参阅https://github.com/MicrosoftEdge/edge-launcher上的“MicrosoftEdgeLauncherCsharp”。 要使用本地文件启动,请使用“file:/// d:/path/filename.ext ”作为ActivateApplication
的arguments
参数。
一个肮脏的解决方案:首先将默认启动器设置为 Edge。
假设您要打开的文件是file:///C:/foo/bar.html
,您可以使用explorer
管理器启动它:
explorer file:///C:/foo/bar.html
这将为您打开带有 HTML 的 Edge。 这似乎是start microsoft-edge:file:///C:/foo/bar.html
不再有效后的唯一解决方案。
使用 C# 10 on.Net6 和 Win10,只有以下对我有用:
Process.Start("msedge", "d:/myfile.html");
该网站上还有许多其他答案似乎不再有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.