自远古以来,如果您运行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可执行文件?
答案 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