尝试打开文件名在列表中的一系列文件

问题描述 投票:0回答:1

编辑:

添加 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();
    }
}

如何修复它以打开并启动每个文件?

c# foreach
1个回答
0
投票

这取决于你的意图。

默认情况下,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"

目前我没有建议如何避免这种重叠,而且资源的消耗也是如此,你应该只调用几个会话。

© www.soinside.com 2019 - 2024. All rights reserved.