如何正常使用这段检测打印机代码?急(100分)

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

lzqin

Unregistered / Unconfirmed
GUEST, unregistred user!
获取打印机状态的代码:
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;


我运行的结果总是0;getprinter()的level设置为2,但pinfo不存在stastus,
为什么会这样???
(我的操作系统是win98,检测的打印机有局域网的,有本地的,如果有其他方法不妨
介绍给我,在这里先谢了)
 
其实可以用GetDeviceCaps()和DeviceCapabilites()试一试啊!
 
不应该出问题
 
后退
顶部