Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 使用“捕获发送到打印机的文档副本数时出错”;Win32“打印作业”;等级_Windows_Printing_Vbscript_Printers_Network Printers - Fatal编程技术网

Windows 使用“捕获发送到打印机的文档副本数时出错”;Win32“打印作业”;等级

Windows 使用“捕获发送到打印机的文档副本数时出错”;Win32“打印作业”;等级,windows,printing,vbscript,printers,network-printers,Windows,Printing,Vbscript,Printers,Network Printers,我从发送到打印机的文档中捕获数据 我使用类“Win32\u PrintJob”。我只需要获取发送打印的每个文档的副本数,为此我使用属性“PagesPrinted”,但在尝试获取副本数时,返回值“0”。查看文档,有以下解释:“如果打印作业不包含页面定界信息,则此值可以是0(零)。”我的问题是,此“页面定界”是什么?如何获得准确的拷贝数 正式文件: 我的VBScript代码: strComputer="." strPrintQuery="Select * from __InstanceCreati

我从发送到打印机的文档中捕获数据

我使用类“
Win32\u PrintJob
”。我只需要获取发送打印的每个文档的副本数,为此我使用属性“
PagesPrinted
”,但在尝试获取副本数时,返回值“
0
”。查看文档,有以下解释:“如果打印作业不包含页面定界信息,则此值可以是
0(零)
。”我的问题是,此“页面定界”是什么?如何获得准确的拷贝数

正式文件:

我的VBScript代码:

strComputer="."

strPrintQuery="Select * from __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_PrintJob'"
Set PRINTSink=WScript.CreateObject("WBemScripting.SWbemSink","PRINTNEW_")
Set objWMI = GetObject("WinMgmts:{impersonationLevel=impersonate, (security)}!\\" & strComputer & "\")
objWMI.ExecNotificationQueryAsync PRINTSink,strPrintQuery

strPrintQuery2="Select * from __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_PrintJob'"
Set PRINTSink2=WScript.CreateObject("WBemScripting.SWbemSink","PRINTDEL_")
Set objWMI2 = GetObject("WinMgmts:{impersonationLevel=impersonate, (security)}!\\" & strComputer & "\")
objWMI2.ExecNotificationQueryAsync PRINTSink2,strPrintQuery2

strPrintQuery3="Select * from __InstanceModificationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_PrintJob'"
Set PRINTSink3=WScript.CreateObject("WBemScripting.SWbemSink","PRINTMOD_")
Set objWMI3 = GetObject("WinMgmts:{impersonationLevel=impersonate, (security)}!\\" & strComputer & "\")
objWMI3.ExecNotificationQueryAsync PRINTSink3,strPrintQuery3

strServiceQuery="Select * from __InstanceModificationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Service'"
Set SERVICESink=WScript.CreateObject("WBemScripting.SWbemSink","SERVICEMOD_")
Set objWMI4 = GetObject("WinMgmts:{impersonationLevel=impersonate, (security)}!\\" & strComputer & "\")
objWMI4.ExecNotificationQueryAsync SERVICESink,strServiceQuery




While (True) 
     WScript.Sleep (500)
Wend

Sub PRINTNEW_OnObjectReady(objEvent,objContext)
 WriteFile NOW  & "f1 xxx " & objEvent.TargetInstance.PagesPrinted & " xxx " & objEvent.TargetInstance.DriverName & " xxx " & objEvent.TargetInstance.Owner & " xxx " & objEvent.TargetInstance.Name & " xxx " & objEvent.TargetInstance.Document
End Sub



Sub WriteFile(strText)
Dim objFSO, objFolder, objShell, objTextFile, objFile
Dim strDirectory, strFile
strDirectory = "C:
strFile = "\log.txt"

' Create the File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")

' Check that the strDirectory folder exists
If objFSO.FolderExists(strDirectory) Then
   Set objFolder = objFSO.GetFolder(strDirectory)
Else
   Set objFolder = objFSO.CreateFolder(strDirectory)
   'WScript.Echo "Just created " & strDirectory
End If

If objFSO.FileExists(strDirectory & strFile) Then
   Set objFolder = objFSO.GetFolder(strDirectory)
Else
   Set objFile = objFSO.CreateTextFile(strDirectory & strFile)
   'Wscript.Echo "Just created " & strDirectory & strFile
End If

set objFile = nothing
on error resume next
set objFolder = nothing
' OpenTextFile Method needs a Const value
' ForAppending = 8 ForReading = 1, ForWriting = 2
Const ForAppending = 8

Set objTextFile = objFSO.OpenTextFile _
(strDirectory & strFile, ForAppending, True)

' Writes strText every time you run this VBScript
objTextFile.WriteLine(strText)
objTextFile.Close
End Sub