为什么检测打印机总是出错?请高手指点!(20分)

  • 主题发起人 goodfox2002
  • 开始时间
G

goodfox2002

Unregistered / Unconfirmed
GUEST, unregistred user!
Function TForm1.GetStatus:integer;
var
pinfo: pPRINTERINFO2;
pprt,a: Cardinal;
b:pDWORD;
begin

b:=allocmem(256);
//我将其改为allocmem(512)也不行。
pinfo:=AllocMem(1000);
if WinSpool.OpenPrinter(PChar(printer.Printers[printer.PrinterIndex]),pprt,nil) then

begin

a:=1000;
if WinSpool.getprinter(pprt,2,pinfo,a,b) then

begin

Result:=pinfo.Status;
end
else
Result:=-1;
//不管打印机是否打开、空闲总是执行else
语句!为什么?????
ClosePrinter(pprt);
end;

freemem(b);
freemem(pinfo);
end;


只有20分了,在线等候!
 
没有人吗?
 
个位高手指点一下呀?
 
没有人知道吗?应该不会呀!
 
我自己解决了,可是问题取消不了。
 
恭喜你,解决问题了。
在下来讨点分。
 
请问GoodFox2002是怎么解决的
给点指示吧 ,z_w_q@10mail.net
 
语句中间一个指针写错了。
 
顶部