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# 并不神奇。
该行修改进程上的
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();