获取打印机状态信息

获取打印机状态信息

ID:40885672

大小:31.50 KB

页数:5页

时间:2019-08-09

获取打印机状态信息_第1页
获取打印机状态信息_第2页
获取打印机状态信息_第3页
获取打印机状态信息_第4页
获取打印机状态信息_第5页
资源描述:

《获取打印机状态信息》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1、获取打印机状态信息下面的代码可以判断所选打印机是否支持双面打印。如返回值为1,则表示支持双面打印,返回值为0则表示不支持。DeviceCapabilitiesA(Device,Port,DC_DVPLEX,nil,nil);下面的代码可以获得一个打印机最多能复制的份数:DeviceCapabilitiesA(Device,Port,DC_COPIES,nil,nil);使用GetDeviceCaps()函数确定所选设备的特定属性。在某些情况下,GetDeviceCaps()将返回所需要的值。下面的代码以毫米为单位返回打印机设备的宽度:GetDeviceCaps(Print

2、er.Handle,HORISIZE);在另一些情况下,GetDeviceCaps()返回一个整数,这个整数经过位屏蔽可以获得打印机的某一性能。例如,GetDeviceCaps()方法返回这样的整型值:RCaps:=GetDeviceCaps(Printer.Handle,RASTERCAPS);然后,通过AND运算符屏蔽出RC_BANDING字段,进而确定打印机是否支持分段打印技术。(RCapsandRC_BANDING)=RC_BANDING***************获取打印机状态信息varpinfo:pPRINTERINFO2;pprt,a:Cardinal;b:P

3、DWORD;beginb:=allocmem(256);pinfo:=AllocMem(1000);ifOpenPrinter('HPDJ200',pprt,nil)thenbegina:=1000;ifgetprinter(pprt,2,pinfo,a,b)thenshowmessage(pinfo.pPrinterName+'ststus:'+inttostr(pinfo.Status));ClosePrinter(pprt);end;freemem(b);freemem(pinfo);end;PRINTER_INFO_2.Status:WindowsNT:PRINTER

4、_STATUS_PAUSEDPRINTER_STATUS_PENDING_DELETIONWindows95:PRINTER_STATUS_BUSYPRINTER_STATUS_DOOR_OPENPRINTER_STATUS_ERRORPRINTER_STATUS_INITIALIZINGPRINTER_STATUS_IO_ACTIVEPRINTER_STATUS_MANUAL_FEEDPRINTER_STATUS_NO_TONERPRINTER_STATUS_NOT_AVAILABLEPRINTER_STATUS_OFFLINEPRINTER_STATUS_OUT_OF_M

5、EMORYPRINTER_STATUS_OUTPUT_BIN_FULLPRINTER_STATUS_PAGE_PUNTPRINTER_STATUS_PAPER_JAMPRINTER_STATUS_PAPER_OUTPRINTER_STATUS_PAPER_PROBLEMPRINTER_STATUS_PAUSEDPRINTER_STATUS_PENDING_DELETIONPRINTER_STATUS_PRINTINGPRINTER_STATUS_PROCESSINGPRINTER_STATUS_TONER_LOWPRINTER_STATUS_UNAVAILABLEPRINTE

6、R_STATUS_USER_INTERVENTIONPRINTER_STATUS_WAITINGPRINTER_STATUS_WARMING_UP2、读取打印机状态可用CREATEFILE以PRN为文件名生成一个文件,检测返回值,若成功则打印机可用,否则显示打印机故障。生成关于PRN的文件句柄后,可象普通文件一样向文件写入内容,比如WRITE,写完后关闭文件。//从并行端口读取打印机状态functionGetPrinterStatus:byte;asmMOVDX,$379;INAL,DX;end;//获取打印机是否出错functionCheckPrinter:boolean;

7、vartemp:byte;begintemp:=GetPrinterStatus;Result:=not(((tempand$80)=0)//打印机忙or((tempand$20)<>0)//打印机缺纸or((tempand$10)=0)//打印机未联机or((tempand$08)=0));//打印机出错;end;3、用API直接打印usesCommDlg;{$IFNDEFWIN32}constMAX_PATH=144;{$ENDIF}procedureTForm1.Button1Click(Send

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。