错误打印:没有应用程序与此操作的指定文件关联

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误打印:没有应用程序与此操作的指定文件关联相关的知识,希望对你有一定的参考价值。

我有一个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()

以上是关于错误打印:没有应用程序与此操作的指定文件关联的主要内容,如果未能解决你的问题,请参考以下文章

没有与此客户端 ID 关联的关联应用

已经有一个打开的 DataReader 与此命令关联,必须先关闭

错误:已经有一个与此命令关联的打开DataReader,必须先关闭它。多个用户

[EF] - "已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭" 之解决

DotNet core 没有与此对象关联的进程

未能找到与此解决方案关联的源代码管理提供程序