如何像在DOS下一样可以监测打印机是否准备好?(50分)

  • 主题发起人 主题发起人 lyshw
  • 开始时间 开始时间
L

lyshw

Unregistered / Unconfirmed
GUEST, unregistred user!
如何像在DOS下一样可以监测打印机是否准备好?
 
难道windows作不到吗
 
转载的,不知道行不行。
获取打印机状态
主题:获取打印机状态
发信人: showskyws(示天)
整理人: teleme(2001-02-10 23:21:02) 站内信件
获取打印机状态

var
pinfo: pPRINTERINFO2;

pprt a: Cardinal;

b:PDWORD;

begin

b:=allocmem(256);

pinfo:=AllocMem(1000);

if OpenPrinter('HP DJ 200' pprt nil) then

begin

a:=1000;

if getprinter(pprt 2 pinfo a b) then

showmessage(pinfo.pPrinterName+' ststus:'+inttostr(pinfo.Status));

ClosePrinter(pprt);

end;

freemem(b);

freemem(pinfo);

end;

PRINTER_INFO_2.Status :
Windows NT:
PRINTER_STATUS_PAUSED
PRINTER_STATUS_PENDING_DELETION
Windows 95:
PRINTER_STATUS_BUSY
PRINTER_STATUS_DOOR_OPEN
PRINTER_STATUS_ERROR
PRINTER_STATUS_INITIALIZING
PRINTER_STATUS_IO_ACTIVE
PRINTER_STATUS_MANUAL_FEED
PRINTER_STATUS_NO_TONER
PRINTER_STATUS_NOT_AVAILABLE
PRINTER_STATUS_OFFLINE
PRINTER_STATUS_OUT_OF_MEMORY
PRINTER_STATUS_OUTPUT_BIN_FULL
PRINTER_STATUS_PAGE_PUNT
PRINTER_STATUS_PAPER_JAM
PRINTER_STATUS_PAPER_OUT
PRINTER_STATUS_PAPER_PROBLEM
PRINTER_STATUS_PAUSED
PRINTER_STATUS_PENDING_DELETION
PRINTER_STATUS_PRINTING
PRINTER_STATUS_PROCESSING
PRINTER_STATUS_TONER_LOW
PRINTER_STATUS_UNAVAILABLE
PRINTER_STATUS_USER_INTERVENTION
PRINTER_STATUS_WAITING
PRINTER_STATUS_WARMING_UP
 
在WinSpool单元
 
上面的办法对特定的打印机基本上可以,但是记住不是所有的打印机都能成功返回的
这和打印机的驱动是密切相关的
 
没有现成的dll吗
 
没有现成的dll吗
 
后退
顶部