如何监控打印机?

joo_xj 2003-08-07 09:34:04
各位大虾:
我想在WIN2000下监控用户在PHOTOSHOP下发送了多少次打印命令,请问有和方法。
不够分,再送!
...全文
54 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihonggen0 2003-08-07
  • 打赏
  • 举报
回复
Private Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, pDefault As Any) As Long
Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
Private Declare Function EnumJobs Lib "winspool.drv" Alias "EnumJobsA" (ByVal hPrinter As Long, ByVal FirstJob As Long, ByVal NoJobs As Long, ByVal Level As Long, pJob As Any, ByVal cdBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long
Private Sub Form_Load()

Dim hPrinter As Long, lNeeded As Long, lReturned As Long
Dim lJobCount As Long
OpenPrinter Printer.DeviceName, hPrinter, ByVal 0&
EnumJobs hPrinter, 0, 99, 1, ByVal 0&, 0, lNeeded, lReturned
If lNeeded > 0 Then
ReDim byteJobsBuffer(lNeeded - 1) As Byte
EnumJobs hPrinter, 0, 99, 1, byteJobsBuffer(0), lNeeded, lNeeded, lReturned
If lReturned > 0 Then
lJobCount = lReturned
Else
lJobCount = 0
End If
Else
lJobCount = 0
End If
ClosePrinter hPrinter
MsgBox "Jobs in printer queue: " + CStr(lJobCount), vbInformation
End Sub
dandy1437 2003-08-07
  • 打赏
  • 举报
回复
Declare Function GetJob Lib "winspool.drv" Alias "GetJobA" (ByVal hPrinter As Long, ByVal JobId As Long, ByVal Level As Long, pJob As Byte, ByVal cdBuf As Long, pcbNeeded As Long) As Long
说明
获取与指定作业有关的信息
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hPrinter Long,一个已打开的打印机的句柄(用OpenPrinter获得)
JobId Long,作业编号
Level Long,1或2
pJob Byte,包含JOB_INFO_1 或 JOB_INFO_2结构的缓冲区,结构中包含了与打印作业有关的信息
cbBuf Long,pJob缓冲区中的字符数量
pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量
dandy1437 2003-08-07
  • 打赏
  • 举报
回复
Declare Function AddMonitor Lib "winspool.drv" Alias "AddMonitorA" (ByVal pName As String, ByVal Level As Long, pMonitors As Byte) As Long
说明
为系统添加一个打印机监视器
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
pName String,欲在其中安装监视器的一个服务器的名字。对于本地(本机)监视器,请设置成vbNullString
Level Long,设为2
pMonitors Byte,指定一个结构中的第一个字节。那个结构又包含了一个MONITOR_INFO_2结构

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧