Process.Start 将不会启动 Acrobat c#

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

Process.Start 将在 VS 2019 调试器中启动我的 PDF,但不会从我的应用程序中启动。 2 Acrobat 进程显示在任务管理器中,但桌面上没有出现窗口。如果我将 PDF 分配给 Microsoft Edge 或 Chrome,它就可以正常工作。有什么建议吗?

到目前为止的代码:

        Process p = new Process();
        ProcessStartInfo s = new ProcessStartInfo(@"pathToMyPDF\My.pdf");
        //s.WorkingDirectory = System.IO.Path.GetDirectoryName(@"C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat");
        s.WindowStyle = ProcessWindowStyle.Maximized;
        p.StartInfo.UseShellExecute = true;
        p.StartInfo = s;
        p.Start();
c# acrobat
1个回答
1
投票

它不起作用,因为 C# 并不神奇。

该行修改进程上的

StartInfo
 对象:

p.StartInfo.UseShellExecute = true;

...该行立即用您创建的 other

StartInfo
对象覆盖它:

p.StartInfo = s;

因为是的,你有两个不同的

StartInfo
对象,
s
p.StartInfo
,并且它们并没有神奇地保持同步。

所以

p.StartInfo.UseShellExecute = true
代码基本上就被浪费了。它的执行并不重要,你只是撤消了它。

真的,全程坚持同一个

StartInfo
物体:

ProcessStartInfo s = new ProcessStartInfo(@"pathToMyPDF\My.pdf");
s.WindowStyle = ProcessWindowStyle.Maximized;
s.UseShellExecute = true;
p.StartInfo = s;
p.Start();
© www.soinside.com 2019 - 2024. All rights reserved.