首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Process.Start( pdf */的/*路径)不能在Windows8上使用Adobe Reader

Process.Start( pdf */的/*路径)不能在Windows8上使用Adobe Reader
EN

Stack Overflow用户
提问于 2014-05-21 16:51:45
回答 6查看 7.7K关注 0票数 11

我可以在我的C#/WPF应用程序中创建PDF,并使用以下命令运行它们:

代码语言:javascript
复制
Process.Start(_pathToPDFFile);

这适用于Adobe Acrobat,但不适用于Adobe Reader。安装Adobe Reader后,除非Reader进程已在任务管理器中运行,否则Process.Start()不会执行任何操作。

当我尝试启动PDF时,如何让Adobe Reader显示PDF?

EN

回答 6

Stack Overflow用户

发布于 2017-09-04 16:29:56

在我们的例子中,这个问题只有在从Visual Studio启动应用程序时才会重现--直接启动.exe就像预期的那样。

经过一些调试后,发现Visual Studio被设置为始终以管理员身份运行,这导致了问题。关闭此选项(which is hard enough itself)可解决此问题。

然而,仍然不确定为什么会发生这种情况。

票数 3
EN

Stack Overflow用户

发布于 2014-05-21 17:38:12

也许可以试试这样的东西?我用Adobe Reader11在Windows8上测试了你的代码,它对我来说似乎工作得很好。也许这台机器上的其他地方出了问题?

代码语言:javascript
复制
var process = new Process();
process.StartInfo = new ProcessStartInfo(@"Path to your PDF.pdf");
process.StartInfo.CreateNoWindow = true;
process.StartInfo.UseShellExecute = true;
process.Start();
票数 1
EN

Stack Overflow用户

发布于 2014-05-21 17:12:01

我是这样做的,也许有一种方法可以从注册表恢复到AcroRd32.exe的确切路径,尽管:

代码语言:javascript
复制
String pathToAcroRd32 = Environment.GetEnvironmentVariable("ProgramFiles") + ((Environment.Is64BitOperatingSystem) ? @" (x86)\" : @"\") + "Adobe\Reader 11.0\Reader\AcroRd32.exe";
ProcessStartInfo adobeInfo = new ProcessStartInfo(pathToAcroRd32, _pathToPDFFile);
Process.Start(adobeInfo);

另外,根据要启动的Acrobat Reader的版本(如果与Adobe Reader 11.0不同),您可能需要更改路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23778366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档