FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour PRINTER_STATUS
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
PRINTER_STATUS
Posted: Sat May 15, 2010 12:54 PM

Is there a function to get the PRINTER_STATUS or JOB_INFO.

Thanks in advance
Otto

Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: PRINTER_STATUS
Posted: Sat May 15, 2010 01:01 PM
Hello Otto,

have a look at FWH\samples\prnstat.prg

Best Regards
Uwe :-)
Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: PRINTER_STATUS
Posted: Sat May 15, 2010 01:49 PM

Hello Uwe,
thank you for your help. But I think to get the JOB_INFO I need to search inside the printer queue.
Best regards,
Otto

Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: PRINTER_STATUS
Posted: Sat May 15, 2010 02:40 PM
Hello Otto,

have a look at FWH\samples\shtest.prg

Maybe it is, what You are looking for ? :

@ 90, 25 BUTTON "&Print Property" ACTION SHPrnProperty( oDlg:hWnd, cPrinter ) ;
SIZE 100, 15 PIXEL

Best Regards
Uwe :-)
Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: PRINTER_STATUS
Posted: Sat May 15, 2010 04:08 PM

Uwe,

This opens the standard dialog "Printer properties".
But how to access the properties values?
Best regards,
Otto

Posts: 4043
Joined: Wed Dec 19, 2007 06:40 PM
Re: PRINTER_STATUS
Posted: Sat May 15, 2010 04:52 PM
A quick VBS-Script-Solution :

Returns the job ID, user name, and total pages for each print job on a computer.
Save the following Lines to a Filename like : Pjob.vbs
You can use Winexec from inside Your application
Winexec('WSCRIPT.exe Pjob.VBS')
or DoubleClick on the File.

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPrintJobs = objWMIService.ExecQuery _
("Select * from Win32_PrintJob")
Wscript.Echo "Print Queue, Job ID, Owner, Total Pages"
For Each objPrintJob in colPrintJobs
strPrinter = Split(objPrintJob.Name,",",-1,1)
Wscript.Echo strPrinter(0) & ", " & _
objPrintJob.JobID & ", " & objPrintJob.Owner & ", " _
& objPrintJob.TotalPages
Next


Some more Informations for testing :

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_PrinterConfiguration")
For Each objPrinter in colInstalledPrinters
Wscript.Echo "Name: " & objPrinter.Name
Wscript.Echo "Collate: " & objPrinter.Collate
Wscript.Echo "Copies: " & objPrinter.Copies
Wscript.Echo "Driver Version: " & objPrinter.DriverVersion
Wscript.Echo "Duplex: " & objPrinter.Duplex
Wscript.Echo "Horizontal Resolution: " & _
objPrinter.HorizontalResolution
If objPrinter.Orientation = 1 Then
strOrientation = "Portrait"
Else
strOrientation = "Landscape"
End If
Wscript.Echo "Orientation : " & strOrientation
Wscript.Echo "Paper Length: " & objPrinter.PaperLength / 254
Wscript.Echo "Paper Width: " & objPrinter.PaperWidth / 254
Wscript.Echo "Print Quality: " & objPrinter.PrintQuality
Wscript.Echo "Scale: " & objPrinter.Scale
Wscript.Echo "Specification Version: " & _
objPrinter.SpecificationVersion
If objPrinter.TTOption = 1 Then
strTTOption = "Print TrueType fonts as graphics."
Elseif objPrinter.TTOption = 2 Then
strTTOption = "Download TrueType fonts as soft fonts."
Else
strTTOption = "Substitute device fonts for TrueType fonts."
End If
Wscript.Echo "True Type Option: " & strTTOption
Wscript.Echo "Vertical Resolution: " & objPrinter.VerticalResolution
Next


Best Regards
Uwe :-)
Since 1995 ( the first release of FW 1.9 )

i work with FW.

If you have any questions about special functions, maybe i can help.
Posts: 6983
Joined: Fri Oct 07, 2005 07:07 PM
Re: PRINTER_STATUS
Posted: Sat May 15, 2010 05:49 PM

Uwe, thank you for your help.
Best regrads,
Otto

Continue the discussion