自古以来,如果您运行web浏览器可执行文件,例如只执行iexplore.exe file:/c:/temp/file
或通过IShellDocView
接口,大多数web浏览器都能够打开本地文件。我试图在我自己的程序中使用Microsoft Edge在Windows10中做到这一点,但我不知道如何做到这一点。
可执行文件看起来完全没有文档记录,没有响应/?或者/help,并且无论我传递给它什么都会崩溃,并且假设路径可能会改变,可能不是直接调用这个可执行文件的正确方法:
C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe <whatever>
Windows中是否有API可以调用,即使它不是当前的默认浏览器,也可以打开Edge?
如果它是默认浏览器,我相信我可以通过Win32 shell-API ShellExecute
来做我想做的事情。我希望能够在Edge中启动一些东西,即使我已经将另一个浏览器设置为我的默认浏览器,用于自动执行某些web测试任务。
是否有用于Edge的编程接口或API?对于这个问题,假设我想用C语言编写,但无论我使用哪种语言,这都应该是相同的API,所以我没有标记这个问题C。
如果无法通过编程实现,有没有可以使用并传递给MicrosoftEdge或MicrosoftEdgeCP可执行文件的命令行参数?
发布于 2016-01-15 04:01:09
目前还不支持这一点,但团队正在评估它作为一种选择。目前,在Edge中打开资源的最简单方法是使用microsoft-edge:
协议处理程序。例如,您可以运行microsoft- Edge :在Edge中打开Stack Overflow。
发布于 2018-08-04 07:39:34
例如,您可以使用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);
我认为这也适用于其他类型的文件。
发布于 2020-06-02 18:52:55
新的2020:微软已经更新了它,现在它可以正常工作了。例如:在我的w10 64bPC上的命令提示符下测试
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
file:///C:/MyApplications/MyTestApp.htm
..所有这些都在一行上,中间有简单的空格。
我不是微软的粉丝,但这是他们最新版本的(慢) Egde Link。
https://stackoverflow.com/questions/34798285
复制相似问题