簡體   English   中英

如何調試“靜默”進程失敗?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM