编辑:
添加 UseShellExecute = true;现在它打开了 Edge,但它打开了六个选项卡,如下
R:工程/软件/GUI 软件 发展 展示 程序 pdf
foreach (var workInstruction in partWorkInstructions)
{
if (workInstruction != null)
{
Process openWorkInstructions = new();
openWorkInstructions.StartInfo.FileName = "msedge.exe";
openWorkInstructions.StartInfo.Arguments = @"R:\Engineering\Software\GUI Software Development\WI Display Program\WI PDFs\" + workInstruction + ".pdf";
openWorkInstructions.StartInfo.UseShellExectue = true;
openWorkInstructions.Start();
}
}
如何修复它以打开并启动每个文件?
这取决于你的意图。
默认情况下,MS Edge 将打开/添加到最近的现有会话窗口(通常是屏幕的最大部分)。实际上你正在打电话:-
for %f in (*.pdf) do "C:\Program Files\Microsoft\Edge\Application\msedge.exe" --profile-directory=Default "file:///%cd%/%f"
解决这个问题的一种方法是启动单独的应用程序,如下所示:-
但请注意它们会彼此堆叠(这不是调用 Edge 的常用方法之一。)
for %f in (*.pdf) do "C:\Program Files\Microsoft\Edge\Application\msedge.exe" --app="file:///%cd%/%f"
目前我没有建议如何避免这种重叠,而且资源的消耗也是如此,你应该只调用几个会话。