如何从c# winforms启动MS Edge?

hgc7kmma  于 2022-11-16  发布在  C#
关注(0)|答案(4)|浏览(402)

可执行文件microsoftedgeiderexe不能像Windows中的其他exe一样直接启动。我根据自己的经验,并通过阅读thisthat确认了这一点。
我也无法在我的c# winforms应用程序中通过Process.Start("MicrosoftEdge.exe")启动它。
一定有某种方法可以从winforms启动Edge,而不需要借助第三方应用程序和其他乱七八糟的东西。我已经尝试了以下方法,但没有成功:

  1. Process.Start("MicrosoftEdge.exe")-未处理的异常
  2. Process.Start("microsoft-edge")-未处理的异常
  3. Process.Start("%windir%\explorer.exe shell:Appsfolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge")-未处理的异常
  4. Process.Start(@"c:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe")-无异常,但没有任何React
    注意:我可以使用上面的方法1轻松启动Chrome和Firefox。
    如何从.net winforms应用程序启动MS Edge?
myss37ts

myss37ts1#

结尾处的“:“非常重要,否则将无法正常工作
打开空白:

System.Diagnostics.Process.Start("microsoft-edge:");

或指定地址:

System.Diagnostics.Process.Start("microsoft-edge:http://www.google.com");
8iwquhpp

8iwquhpp2#

过程.启动可以带2个参数

string url = "http://www.google.com";
System.Diagnostics.Process.Start("msedge.exe", url);

浏览器:

  • msedge.exe
  • chrome.exe
  • firefox.exe
  • iexplore.exe
2admgd59

2admgd593#

您可以使用一个小的解决方案,通过以下代码从CMD打开Microsoft Edge

string url = "https://www.google.com";

// Starts Microsoft Edge with the provided URL; NOTE: /C to terminate CMD after the command runs
System.Diagnostics.Process.Start("CMD.exe", $"/C start msedge {url}");
cgh8pdjw

cgh8pdjw4#

其他答案都是有效的,但是在尝试使用@user1845593列出的选项时遇到了一个小问题。除非我使用ProcessStartInfo类并将UseShellExecute设置为true,否则它不起作用。
我是用.net 6执行的,下面的示例对我有效。如果我试图直接将同样的东西传递给Process.Start,它会失败。

var processInfo = new ProcessStartInfo("microsoft-edge:");
processInfo.UseShellExecute = true;
Process.Start(processInfo);

相关问题