vb.net - 基于VB.Net和VB6如何获取打印机池的每一项详细信息(如状态、页面、打印页面、文档名称)?
问题描述
朋友们:
谁能帮我解决这个问题?有关我的问题,请参阅附图。
我想基于 VB.net 创建一个这样的函数:
Improts System.printing
Public Function GetPrinterPoolDetails(ByVal PrinterName As String, ByVal sFile As String, ByRef HasPrinted As Integer, ByRef Pages As Integer,
ByRef PrintingStatus As String, Optional ByVal OPeration As String = "") As Integer
Dim Ps As PrintServer = New PrintServer()
Dim PrintQueues As PrintQueueCollection = Ps.GetPrintQueues()
Dim Filename As String = IO.Path.GetFileName(sFile)
For Each Item As PrintQueue In PrintQueues
If Item.Name.EndsWith(Filename) Then
Item.Refresh()
Dim Coll As PrintJobInfoCollection = Item.GetPrintJobInfoCollection()
If Not Coll Is Nothing Then
For Each jobinfo In Coll
If OPeration = "Cancel" Then
jobinfo.Cancel()
Exit For
End If
HasPrinted = jobinfo.NumberOfPagesPrinted
Dim Status As String = jobinfo.JobStatus
Dim PrintSubmittedDatetime As String = jobinfo.TimeJobSubmitted
Pages = jobinfo.NumberOfPages
Return Pages
Next
End If
Exit For
End If
Next
End Function
Private Function PrintingMonitor() as boolean
Dim PrinterName as string="HP LaserJet 1020"
Dim FilenameWithoutPath as string="Test.pdf"
Dim Pages as integer=0
Dim HasPrintedPages as integer =0
Dim Status as string =""
Do
Dim IsOver as boolean= GetPrinterPoolDetails("HP LaserJet 1020","Test.pdf",HasPrintedPages ,Pages ,Status ,"")
LProgress.text="Printing Status:" & Status & "Document For Printing is: " & "Test.pdf HasDone:" & HasPrintedPages & "/" & Pages
Sleep (1000)
Application.DoEvents
loop while not IsOver and HasPrintedPages <Pages
End Function
为什么GetPrinterPoolDetails函数会抛出异常?而且我不知道如何将 PrinterName 参数传递给调用者 ps。
谁能编写正确的代码来获取给定打印机的详细信息?
解决方案
推荐阅读
- scala - 将 HList 与 GADT 一起使用时,我必须使用 asInstanceOf[H] 进行投射。有没有办法避免演员表?
- python - Django:每次外键与所述模型相关联时更新模型字段?
- shopify - 如何在shopify的搜索页面上获取查询字符串
- javascript - 替换在 Ubuntu Chrome 上工作但不在 Mac Chrome 上工作
- python - 获取从 GitHub 存储库修改的代码行数
- android - 如何为具有产品风格的应用启用 crashlytics?
- ssl - 使用 Linux 工具/命令验证开放连接的安全协议版本 (TLS)?
- python - 在给定权重和偏差的情况下使用 numpy 进行隐藏层输出
- postgresql - 在 postgresql 9.6 中创建同时被其他事务阻塞的索引
- html - 为什么这个悬停不会触发文本动画?