Printing Client-Side Printing Assign a Default Printer Based on Queue Length , WMI
' Assign a Default Printer Based on Queue Length
intSmallestQueue = 1000
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPrintQueues = objWMIService.ExecQuery _ ("Select * from Win32_PerfFormattedData_Spooler_PrintQueue " _ & "Where Name <> '_Total'")
For Each objPrintQueue in colPrintQueues intCurrentQueue = objPrintQueue.Jobs + objPrintQueue.JobsSpooling If intCurrentQueue <= intSmallestQueue Then strNewDefault = objPrintQueue.Name intSmallestQueue = intCurrentQueue End If Next
Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Printer Where Name = '" & strNewDefault & "'")
For Each objPrinter in colInstalledPrinters objPrinter.SetDefaultPrinter() Next
|
VbsEdit includes all these samples!
Download Now!
Version 5.4.1 - This package includes VbsEdit 32-bit, VbsEdit 64-bit, HtaEdit 32-bit and HtaEdit 64-bit. The evaluation version never expires.
Home
|