如何判定打印机缺纸(100分)

  • 主题发起人 主题发起人 happyseasky
  • 开始时间 开始时间
H

happyseasky

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位大侠如何判定打印机是否缺纸
 
function TestPrinterStatus(LPTPort: word): byte;
var
Status: byte;
CheckLPT: word;
begin
Status := 0;
if (LPTPort >= 1) and (LPTPort <= 3) then
begin
CheckLPT := LPTPort -1;
asm
mov dx, CheckLPT;
mov al, 0;
mov ah, 2;
int 17h;
mov &amp;Status, ah;
end;
end;
Result := Status;
end;
参数时打印机端口,返回值如下:
01h - Timeout
08h - I/O Error
10h - Printer selected
20h - Out of paper
40h - Printer acknowledgement
80h - Printer not busy (0 if busy)

 
在delphi中有一个printers.pas,winpool.pas的文件,这里面有许多有关打印机设置和状态的东东.
你可以自己查阅一下.
 
在winpool.pas里有PRINTER_STATUS_PAPER_OUT 这个状态
 
多人接受答案了。
 
后退
顶部