谁知道打印管理监控的原理呢? (100分)

  • 主题发起人 主题发起人 狼牙
  • 开始时间 开始时间

狼牙

Unregistered / Unconfirmed
GUEST, unregistred user!
如何控制网络打印机的pause,resume,cancel???能提供原码再加100.
 
给段代码,一般情况下,你所需要的功能需要用到API来实现。
procedureTForm1.Button1Click(Sender:TObject);
var
LPHandle:THandle;//打印机句柄
LPStrBuf:Array[0..256]ofChar;//打印机名称
NoJobs:Word;//希望获取的作业数
s:LongWord;//Job_Info的字节数
Job_Info:array[0..10]ofJOB_INFO_1;//打印队列信息
cbNeeded:Cardinal;
cReturned:Cardinal;//返回的作业数
ret:LongBool;
I:Integer;
begin
LPStrBuf:='HPLaserJetIII';//指定打印机名称
//打开打印机
if(OpenPrinter(LPStrBuf,LPHandle,nil)=False)then
begin
MessageBox(Form1.Handle,'打开打印机失败。','信息',MB_OK);
Exit;//退出
end;
s:=Sizeof(Job_Info);
cbNeeded:=0;
cReturned:=0;
NoJobs:=10;
ret:=EnumJobs(LPHandle,
0,
NoJobs,
1,
@Job_Info,
s,
cbNeeded,
cReturned);
//显示打印队列信息
Memo1.Lines.Add('共有打印任务:'+IntToStr(cReturned)+'个。');
forI:=0tocReturned-1do
Memo1.Lines.Add('第'+IntToStr(I+1)+'个打印任务有'
+IntToStr(Job_Info.TotalPages)+'页。');
end;
 
楼上:
代码无法运行?
[Error] Unit1.pas(33): Undeclared identifier: 'JOB_INFO_1'
[Error] Unit1.pas(41): Undeclared identifier: 'OpenPrinter'
[Error] Unit1.pas(50): Undeclared identifier: 'EnumJobs'
...
另如何控制网络打印机的pause,resume,cancel?
关注~!
 
后退
顶部