判断打印机是否还有任务队列的方法~
来源:互联网 发布:淘宝代销货源 编辑:程序博客网 时间:2024/05/15 07:08
Private Structure PRINTER_DEFAULTS Dim pDatatype As String Dim pDevMode As Integer Dim DesiredAccess As IntegerEnd StructurePrivate Const PRINTER_ACCESS_ADMINISTER As Integer = &H4Private Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, ByRef phPrinter As Integer, ByRef pDefault As PRINTER_DEFAULTS) As IntegerPrivate Declare Function EnumJobs Lib "winspool.drv" Alias "EnumJobsA" (ByVal hPrinter As Integer, ByVal FirstJob As Integer, ByVal NoJobs As Integer, ByVal Level As Integer, ByRef pJob As Byte, ByVal cdBuf As Integer, ByRef pcbNeeded As Integer, ByRef pcReturned As Integer) As IntegerPrivate Structure SYSTEMTIME Dim wYear As Short Dim wMonth As Short Dim wDayOfWeek As Short Dim wDay As Short Dim wHour As Short Dim wMinute As Short Dim wSecond As Short Dim wMilliseconds As ShortEnd StructurePrivate Structure JOB_INFO_1 Dim JobId As Integer Dim pPrinterName As Integer Dim pMachineName As Integer Dim pUserName As Integer Dim pDocument As Integer Dim pDatatype As Integer Dim pStatus As Integer Dim Status As Integer Dim Priority As Integer Dim Position As Integer Dim TotalPages As Integer Dim PagesPrinted As Integer Dim Submitted As SYSTEMTIMEEnd StructurePrivate Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Integer) As IntegerPublic Function HasJobs(ByVal PrinterName As String) As Integer Dim hPrinter As Integer Dim RetVal As Integer Dim pd As New PRINTER_DEFAULTS Dim aJi1() As Byte Dim dwBytesNeed As Integer Dim dwBytesRet As Integer Dim lngSize As Integer Dim JI_1 As JOB_INFO_1 lngSize = Len(JI_1) pd.DesiredAccess = PRINTER_ACCESS_ADMINISTER RetVal = OpenPrinter(PrinterName, hPrinter, pd) ReDim aJi1(lngSize - 1) RetVal = EnumJobs(hPrinter, 0, 3, 1, aJi1(0), lngSize, dwBytesNeed, dwBytesRet) If RetVal = 0 And dwBytesNeed = 0 Then ClosePrinter(hPrinter) Return -1 End If ClosePrinter(hPrinter) If dwBytesNeed = 0 Then Return 0 Else Return 1 End IfEnd Function
与前篇一样这个算是VB6时代的方法,如果你更好的基于.Net的方法,请赐教!happybasic@163.com
- 判断打印机是否还有任务队列的方法~
- 另类判断打印机是否为脱机状态的方法
- C#判断节点下是否还有子节点的方法
- java ThreadPool判断是否所有任务都完成的方法
- 如何清除掉打印机队列中无法清除的任务
- C#判断打印机是否可用
- Winform 判断打印机是否可用,实现设置默认打印机功能
- delphi中如何判断打印机是否安装
- 判断文件夹下是否还有子文件夹
- 判断多任务是否可用
- 怎样判断ucos ii ostaskcreate任务的 堆栈是否溢出
- 获取打印机连接状态及打印任务是否错误
- 判断socket是否已断开的方法
- 判断type是否有记录的方法
- 判断radio是否选中的方法
- 判断电脑病毒是否存在的方法
- 判断是否为日期类型的方法
- VC中判断是否数字的方法
- 十二周上机项目4(2):输出10000以内的回文数
- svn代码回滚命令
- 另类判断打印机是否为脱机状态的方法
- 图像处理中的滤波器设计
- java 大数字运算结果的显示问题
- 判断打印机是否还有任务队列的方法~
- HDU 1576 扩展欧几里德算法求二元一次不定方程
- 检测SQL SERVER数据库CPU瓶颈及内存瓶颈
- Visual basic发展历程...
- IOS开发UI展示之UITableView ──分页加载
- 动态加载
- ActiveX控件,ActiveX DLL,ActiveX EXE之间的差别~~
- 转:java小数保留两位小数
- hdu1358 KMP-next数组的应用