【发布时间】:2018-06-05 05:02:05
【问题描述】:
我有一个使用 Process.Start 打印 PDF 的 VB WinForms 应用程序,它在 Windows 10 上运行了很长时间。今天我去使用它并收到以下错误消息:
“没有应用程序与此操作的指定文件关联”
没有任何改变导致此问题,我没有更改 PDF 查看器或卸载任何东西。我可以通过双击打开 PDF 没有问题。
我编写了一个小型控制台应用程序来复制问题并证明这与 WinForms 应用程序无关:
Sub Main()
Dim pi As New Diagnostics.ProcessStartInfo
Dim url As String = "C:\PathToPDF\.pdf"
pi.FileName = url
pi.Verb = "PrintTo"
pi.CreateNoWindow = True
pi.Arguments = """Microsoft Print to PDF"""
pi.UseShellExecute = True
Console.WriteLine(url)
Diagnostics.Process.Start(pi)
Console.ReadKey()
End Sub
上面的程序复制了错误。我已经验证该文件存在并且可以访问并使用双斜杠和单斜杠进行了尝试,它们给出了相同的错误:
“没有应用程序与此操作的指定文件关联”。
同一应用程序在办公室的其他 PC 上运行良好。 有没有其他人发生过这种情况,如果有,他们是如何解决的? 我的 PDF 查看器是 PDFXChange Viewer,多年来它一直在使用这种方法打印出精美的 PDF。我还没有更新程序,它在关于页面上说最后一次安装更新是在 2016 年。
问候。
【问题讨论】:
-
您是否尝试过从该机器上的文件资源管理器打印 PDF?您使用的动词相当于右键单击文件并选择相应的命令。如果这也不起作用,或者没有这样的命令,则表明存在 Windows 问题,并且您的应用程序的行为与应有的完全一致。可能只是由于某种原因,该计算机上的相关文件关联已丢失。事实上,这是发生这种情况的最明显原因。