vb.net - 打印错误:没有应用程序与此操作的指定文件关联
问题描述
我有一个使用 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 年。
问候。
解决方案
如果我是对的,我也有同样的问题。也许你可以用稍微不同的方式尝试一下。我的应用程序中有这个,它工作正常:
Dim myp As New Process
myp.StartInfo.FileName = filename 'Full path to pdf
myp.Start()
推荐阅读
- python - 绘制从同一图形 Python 中的循环获得的两个数据帧
- php - 带有 Curl 和 Php 的 Oauth 1.0 的 Creta 签名 - 修复错误“标头中不支持的签名方法。需要 HMAC-SHA256”
- php - 将二维数组按特定顺序组装成字符串
- linux - anaconda powershell 提示符中的 chmod 400 命令引发异常
- javascript - 这个带有两个背靠背圆括号的作业有什么作用?
- python - 防止函数在其外部查找变量
- javascript - 从路由器内部关闭服务器
- c++ - 如何调用类成员函数的函数指针
- r - 如何为每个模型的所有重采样获得预测的 RMSE?
- firebase - 'GiftedChat' API 未呈现且无法发送/接收文本