[英]How do I debug a "silent" Process failure?
我正在打印这样的 PDF 文件。 它适用于我的大多数打印机:
Public Sub PrintFile(ByVal uPath As String, ByVal uPrinter As String)
Dim psi As New ProcessStartInfo
psi.WindowStyle = ProcessWindowStyle.Normal
psi.Verb = "printto"
psi.Arguments = uPrinter
psi.CreateNoWindow = False
psi.FileName = uPath
Dim nProc As New Process
nProc.StartInfo = psi
nProc.Start()
If nProc Is Nothing Then
MsgBox("failed!!!")
End If
DoSleep(3000)
Do While Not modEnvironment.IsPrinterQueueEmpty()
DoSleep(2000)
Loop
Try
nProc.CloseMainWindow()
Catch ex As Exception
Debug.Assert(False)
End Try
nProc.Close()
End Sub
这适用于某些打印机。
对于一台打印机,它不起作用。 我给它的名字是
"Canon MB2700 series Printer Wifi"
可以猜到,它是一台 Wifi 打印机。 但我不知道 Wifi 打印机的处理方式必须与本地连接的打印机不同。
没有明显的错误抛出或不同的进程退出代码,它只是不打印。
我一遍又一遍地比较打印机名称,我没有看到任何明显的拼写错误。
这就是为什么我想问在这种情况下如何调试出了什么问题。
谢谢!
我知道了!!!
psi.Arguments = chrw(34) & uPrinter & chrw(34)
显然空格是个问题,所以名字必须放在“”中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.