我有一个VB WinForms应用程序,使用Process.Start打印PDF,它已经在Windows 10上运行良好。今天我去使用它并得到以下错误消息:
“没有应用程序与此操作的指定文件相关联”
没有任何改变导致这种情况,我没有改变PDF Viewer或卸载任何东西。我可以双击它打开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。我没有更新程序,它在about页面中说最后安装的更新是在2016年。
问候。
如果我是对的,我也有同样的问题。也许你可以稍微以其他方式尝试它。我在我的应用程序中有这个,它工作正常:
Dim myp As New Process
myp.StartInfo.FileName = filename 'Full path to pdf
myp.Start()