Board index » Visual Studio » Printer Ink Status

Printer Ink Status

Visual Studio341
Hi guys,



I'm working on a small desktop publishing software project where I need

to display the default printer's ink status/level in the status bar of

the main form. For the past 2 days I've been trying to find a way of

getting the printer ink level from the printer but I haven't been able

to find something that's generic. I looked at the:



* PJLMON.dll - PJL language commands for parrallel port or USB

printers. Got stuck on the implementation and usability :(



* OLEPRNLib ( blog.crowe.co.nz/archive/2005/08/08/182.aspx ) -

but its mainly via SNMP for network printers.



* WMI (System.Management namespace)? I'm not sure if this will tell the

current printer ink level.



Here's something interesting I read elsewhere, "IEEE 1284 compliant

devices connected to a parallel port or a USB port can transmit a

Device ID when asked to do so. The device ID of inkjet printers often

contains the level of ink available." Now how do I get this Device ID

and what's the format/syntax to be parsed to fetch the ink level?



The closest I could find is the libinklevel library (

libinklevel.sourceforge.net ), but its for Linux.



Do you guys have any suggestions or ideas on how I can accomplish this

"simple" task :) Thanks!


-
 

Re:Printer Ink Status

On 3 Nov 2006 00:01:01 -0800, up3umrmuofnz3pd@jetable.org wrote:



Quote
Hi guys,



I'm working on a small desktop publishing software project where I need

to display the default printer's ink status/level in the status bar of

the main form. For the past 2 days I've been trying to find a way of

getting the printer ink level from the printer but I haven't been able

to find something that's generic. I looked at the:



* PJLMON.dll - PJL language commands for parrallel port or USB

printers. Got stuck on the implementation and usability :(



* OLEPRNLib ( blog.crowe.co.nz/archive/2005/08/08/182.aspx">blog.crowe.co.nz/archive/2005/08/08/182.aspx ) -

but its mainly via SNMP for network printers.



* WMI (System.Management namespace)? I'm not sure if this will tell the

current printer ink level.



Here's something interesting I read elsewhere, "IEEE 1284 compliant

devices connected to a parallel port or a USB port can transmit a

Device ID when asked to do so. The device ID of inkjet printers often

contains the level of ink available." Now how do I get this Device ID

and what's the format/syntax to be parsed to fetch the ink level?



The closest I could find is the libinklevel library (

libinklevel.sourceforge.net">libinklevel.sourceforge.net ), but its for Linux.



Do you guys have any suggestions or ideas on how I can accomplish this

"simple" task :) Thanks!



I doubt there's anything universal or generic. It will depend on what the

printer vendor will make available. There are win32_Printer and

win32_printerconfiguration WMI classes, but they don't provide any ink

information. I can get that information for my HP PSC2100 through HP

software, but I don't know if that information is available through a COM

object or anywhere else. It might be worth a chat with the vendor to see

if they provide access to that information through an automation object.



--

Jeffery Hicks - www.ScriptingAnswers.com

SAPIEN Technologies - Scripting, Simplified. www.SAPIEN.com

Scripting books: www.SAPIENPress.com

-

Re:Printer Ink Status

In this case I do think approach your printer vendors such as HP or Canon

will be faster.



chanmm



<up3umrmuofnz3pd@jetable.org>wrote in message

Quote
Hi guys,



I'm working on a small desktop publishing software project where I need

to display the default printer's ink status/level in the status bar of

the main form. For the past 2 days I've been trying to find a way of

getting the printer ink level from the printer but I haven't been able

to find something that's generic. I looked at the:



* PJLMON.dll - PJL language commands for parrallel port or USB

printers. Got stuck on the implementation and usability :(



* OLEPRNLib ( blog.crowe.co.nz/archive/2005/08/08/182.aspx">blog.crowe.co.nz/archive/2005/08/08/182.aspx ) -

but its mainly via SNMP for network printers.



* WMI (System.Management namespace)? I'm not sure if this will tell the

current printer ink level.



Here's something interesting I read elsewhere, "IEEE 1284 compliant

devices connected to a parallel port or a USB port can transmit a

Device ID when asked to do so. The device ID of inkjet printers often

contains the level of ink available." Now how do I get this Device ID

and what's the format/syntax to be parsed to fetch the ink level?



The closest I could find is the libinklevel library (

libinklevel.sourceforge.net">libinklevel.sourceforge.net ), but its for Linux.



Do you guys have any suggestions or ideas on how I can accomplish this

"simple" task :) Thanks!







-