vb.net 中是不是有任何代码来检查打印机状态

Posted

技术标签:

【中文标题】vb.net 中是不是有任何代码来检查打印机状态【英文标题】:is there any code in vb.net to check printer statusvb.net 中是否有任何代码来检查打印机状态 【发布时间】:2011-05-24 02:29:09 【问题描述】:

打印作业中再次出现的问题...

我有一台打印机(Epson TM-T88IV 收据)。在打印之前,我想检查打印机是否可用于打印(连接与否)。如果没有,我将显示打印预览表格。否则会自动打印

vb.net 代码中的任何解决方案

提前致谢 马卡拉

【问题讨论】:

“vb.net 代码中的任何解决方案” - 不构成问题。 【参考方案1】:

我不是 100% 确定这会奏效,所以先试试吧:

'usage
For Each prn As String In PrinterSettings.InstalledPrinters
    Debug.WriteLine(String.Format("Is printer 0 online? 1", prn, CheckPrinter(prn).ToString))
Next

'function to test printer status
Private Function CheckPrinter(ByVal printerName As String) As Boolean
    Try
        Dim printDocument As PrintDocument = New PrintDocument
        printDocument.PrinterSettings.PrinterName = printerName
        Return printDocument.PrinterSettings.IsValid
    Catch ex As System.Exception
        Return False
    End Try
End Function

【讨论】:

即使打印机关闭,代码也会返回“True”。【参考方案2】:

当您使用 Vb.net 时,我猜您是在 Windows 机器上。使用您的操作系统 API。就像例如获取打印机状态。

【讨论】:

以上是关于vb.net 中是不是有任何代码来检查打印机状态的主要内容,如果未能解决你的问题,请参考以下文章

使用 VB.NET 打印 MS Access 报告

如何查看打印机是不是处于联机状态

如何在 VB.NET 中检查 TCP 服务器(套接字)与 TCP 客户端的连接状态

vb.net 算术运算导致溢出这是咋回事儿?

检查 VB.net 的 DataTable 中是不是存在值的最简单/最快的方法?

如何检查 vb .net 项目的 sql server 中是不是存在数据库和表?