首页 > 解决方案 > 打印错误:没有应用程序与此操作的指定文件关联

问题描述

我有一个使用 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 年。

问候。

标签: vb.netprinting

解决方案


如果我是对的,我也有同样的问题。也许你可以用稍微不同的方式尝试一下。我的应用程序中有这个,它工作正常:

    Dim myp As New Process
    myp.StartInfo.FileName = filename 'Full path to pdf
    myp.Start()

推荐阅读