web-dev-qa-db-fra.com

Comment puis-je ouvrir un fichier HTML local dans le navigateur Microsoft Edge?

Depuis la nuit des temps, la plupart des navigateurs Web ont été en mesure d'ouvrir un fichier local si vous avez exécuté l'exécutable du navigateur Web, par exemple, exécutez simplement iexplore.exe file:/c:/temp/file ou via les interfaces IShellDocView. J'essaie de le faire depuis mon propre programme, sous Windows 10, avec Microsoft Edge, et je ne sais pas comment le faire.

L'exécutable semble être complètement non documenté, ne répond pas à /? ou/help, et plante, peu importe ce que je lui transmets, et étant donné que le chemin semble susceptible de changer, n’est probablement pas la bonne approche pour invoquer directement cet exécutable:

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

Existe-t-il une API dans Windows qui peut être appelée à la place et qui ouvrira Edge, peut-être même si ce n'est pas le navigateur par défaut actuel?

Si c'était le navigateur par défaut, je pense pouvoir faire ce que je veux via Win32 Shell-API ShellExecute. J'aimerais pouvoir lancer quelque chose dans Edge, même si j'ai défini un autre navigateur par défaut, afin d'automatiser certaines tâches de test Web.

Existe-t-il des interfaces de programmation ou des API pour Edge? Aux fins de cette question, disons que je veux écrire ceci en C, mais que cela devrait être la même API, peu importe la langue que j'utilise, je n'ai donc pas tagué cette question C.

S'il n'y a aucun moyen de le faire par programme, y a-t-il un argument de ligne de commande que je pourrais utiliser et transmettre à un exécutable MicrosoftEdge ou MicrosoftEdgeCP?

21
Warren P

Ceci n'est actuellement pas pris en charge, mais l'équipe l'évalue comme une option. Pour le moment, le moyen le plus simple d'ouvrir une ressource dans Edge consiste à utiliser le gestionnaire de protocole Microsoft-Edge:. Par exemple, vous pouvez exécuter Microsoft-Edge: http://stackoverflow.com pour ouvrir le débordement de pile dans Edge.

10
Sampson

Voici comment vous pouvez ouvrir un PDF par exemple avec Edge.

Ajoutez l'en-tête suivant en haut de votre classe:

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

Voici un exemple de la façon de faire l'appel.

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

Je pense que cela s'appliquera également à d'autres types de fichiers.

2
TempGuest

Cela fonctionne sur mon système:

créer un partage et vous donner l'accès

ouvrir dans Microsoft Edge, à titre d'exemple simple: file: ////bookmark.html

vous pouvez obtenir le nom d'hôte via la commande hostname Powershell, entre autres, vous pouvez voir tous les répertoires que vous partagez en utilisant l'explorateur de fichiers, en ouvrant «réseau», sur votre ordinateur et vous devriez voir tous les partages que vous avez créés.

pas nécessairement une réponse profondément satisfaisante, mais fonctionne pour ce dont j'avais besoin.

1
Augie Mattheiss

Obtenir un outil à partir de https://github.com/MicrosoftEdge/Edge-launcher

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

0
Herschelle42