怎样判断打印机是否联机?(100分)

Z

z_w_q

Unregistered / Unconfirmed
GUEST, unregistred user!
98下可以通过读打印机并口,获得打印机是否联机,但在NT和2000如何获得?
 
I

iie

Unregistered / Unconfirmed
GUEST, unregistred user!
BOOL GetPrinter(
HANDLE hPrinter, // handle to printer of interest
DWORD Level, // version of printer info data structure
LPBYTE pPrinter, // pointer to array of bytes that receives printer info. structure
DWORD cbBuf, // size, in bytes, of array of bytes
LPDWORD pcbNeeded // pointer to variable with count of bytes retrieved (or required)
);
 
F

fish126

Unregistered / Unconfirmed
GUEST, unregistred user!
Z_W_Q 想问一下:在98下如何判断是否联机?
 
W

wulianmin

Unregistered / Unconfirmed
GUEST, unregistred user!
function PrinterStatus : integer;
asm
mov ah, 2 // function 2 - returns status of port
mov dx, 0 // lpt1 = 0, lpt2 = 1 etc
int $17 // status in ah
mov al, ah
and eax, $FF // status now in eax with top 24 bits cleared
end;

const
PrinterCodes : array [0..7] of string =
('printer timed-out',
'unused',
'unused',
'I/O error',
'printer selected',
'out of paper',
'printer acknowedgment',
'printer not busy');

procedure TForm1.Button1Click(Sender: TObject);
var
L,P : integer;
begin

P := PrinterStatus;
//status of printer in P
ListBox1.Clear;
for L := 0 to 7do

if P and (1 shl L) <> 0 then

ListBox1.Items.Add (PrinterCodes [L]);
end;
 
Y

yuerzhang

Unregistered / Unconfirmed
GUEST, unregistred user!
iie:
您好。
没用过getprinter,请问其中的值怎样给帮助写的不大清楚,如果您有具体例子,
请传给我,不胜感激
wulianmin:
您好。
您的代码我调不通,不知我该注意些什么才能调通您的程序。(我实在对汇编不感冒)
 
W

wjiachun

Unregistered / Unconfirmed
GUEST, unregistred user!
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
947
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
768
SUNSTONE的Delphi笔记
S
I
回复
0
查看
900
import
I
顶部