[英]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.