如何在Microsoft Edge浏览器中打开本地HTML文件?

时间:2016-01-14 19:42:25

标签: windows winapi windows-10 microsoft-edge

自远古以来,如果您运行Web浏览器可执行文件,大多数Web浏览器都能够打开本地文件,例如只执行iexplore.exe file:/c:/temp/file或通过IShellDocView接口。我试图在我自己的程序中使用Microsoft Edge在Windows 10中执行此操作,并且我不知道如何执行此操作。

可执行文件似乎完全没有文档,没有响应/?或/ help,无论我传递给它,只是崩溃,并且鉴于路径似乎可能会改变,可能不是直接调用此可执行文件的正确方法:

  C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe  <whatever>

Windows中是否有可以调用的API,即使它不是当前的默认浏览器,也会打开Edge?

如果它是默认浏览器,我相信我可以通过Win32 shell-API ShellExecute做我想做的事情。我希望能够在Edge中启动一些东西,即使我已将另一个浏览器设置为我的默认浏览器,以便自动执行某些Web测试任务。

Edge是否有编程接口或API?出于这个问题的目的,让我们说我想用C语言写这个,但无论我使用什么语言都应该使用相同的API,所以我没有标记这个问题C. / p>

如果无法以编程方式执行此操作,是否可以使用命令行参数并传递给MicrosoftEdge或MicrosoftEdgeCP可执行文件?

7 个答案:

答案 0 :(得分:10)

目前不支持此功能,但团队正在评估此选项。目前,在Edge中打开资源的最简单方法是使用microsoft-edge:协议处理程序。例如,您可以运行 microsoft-edge:http://stackoverflow.com 来打开Edge中的Stack Overflow。

答案 1 :(得分:2)

例如,这是使用Edge打开PDF的方式。

在班级顶部添加以下标头:

[DllImport("Shell32.dll")]
public static extern int ShellExecuteA(IntPtr hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirecotry, int nShowCmd);

这里是拨打电话的示例。

ShellExecuteA(System.IntPtr.Zero, "open", @"shell:Appsfolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge", "C:\MyFile.pdf", null, 10);

我认为这也适用于其他类型的文件。

答案 2 :(得分:1)

这适用于我的系统:

创建共享并授予访问权限

在Microsoft Edge中打开,作为一个简单示例: file:////bookmark.html

您可以通过hostname Powershell命令获取主机名,还可以使用文件资源管理器查看共享的所有目录,并在计算机上打开“网络”,并且应该看到已建立的所有共享

不一定是令人满意的答案,但是可以满足我的需求。

答案 3 :(得分:1)

新2020年:MS已对其进行更新,并且现在可以正常工作。 例如:在我的w10 64b PC上的cmd提示符下进行了测试

"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
file:///C:/MyApplications/MyTestApp.htm

..全部都在一行上,之间只有简单的空格。

我不喜欢MS,但是这里是最新版本的Egde Link

答案 4 :(得分:0)

https://github.com/MicrosoftEdge/edge-launcher

获取工具

MicrosoftEdgeLauncher file:///C:/Users/me/Documents/homepage.html

答案 5 :(得分:0)

以下内容适用于本地文件,并且还接受URI中的查询(viewDidLoad)和片段(?)。

本地HTML文件上的WinAPI / ShellAPI示例:

#

答案 6 :(得分:0)

Microsoft引入了App Aliases,如果您检查AppData文件夹(该文件夹自动包含在Windows路径中),则会找到MicrosoftEdge.exe

 Directory of C:\Users\username\AppData\Local\Microsoft\WindowsApps

06/25/2019  04:13 PM    <DIR>          Backup
10/08/2019  03:35 PM                 0 dbgsrv32.exe
10/08/2019  03:35 PM                 0 dbgsrv64.exe
11/07/2019  01:40 PM    <DIR>          Microsoft.MicrosoftEdge_8wekyb3d8bbwe
10/08/2019  03:35 PM    <DIR>          Microsoft.WinDbg_8wekyb3d8bbwe
11/07/2019  01:40 PM                 0 MicrosoftEdge.exe
10/08/2019  03:35 PM                 0 WinDbgX.exe
               4 File(s)              0 bytes
               3 Dir(s)  119,020,060,672 bytes free

不幸的是,与工作的WinDbgX不同,别名似乎无法打开HTML文件或对任何CLI的响应。

因此,一旦Microsoft为Edge实现Shell CLI,那将是正确的调用方法。

一种解决方法是在URL栏中键入file:// URI,如下所示(注意:需要 / ):

file:///D:/random/path/file.html