打印的问题? 当我的系统运行后,发现此时打印机没有开,就去开打印机,但是此时还是不能打印。就是说,每次打印之前都去检查打印机才能满足要求。怎么检查?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //试试这个//功能:检测打印机是否可用function TFBillPreview.CheckPrinterConnect: Boolean; function GetCurrentPrinterHandle: THandle; var Device, Driver, Port : array[0..215] of char; hDeviceMode: THandle; begin Printer.GetPrinter(Device, Driver, Port, hDeviceMode); OpenPrinter(@Device, Result, nil); end;type TJobs = Array [0..1000] of JOB_INFO_1; PJobs = ^TJobs;var hPrinter : THandle; bytesNeeded, numJobs: Cardinal; pJ: PJobs;begin CheckPrinterConnect := False; hPrinter:= GetCurrentPrinterHandle; try EnumJobs( hPrinter, 0, 1000, 1, nil, 0, bytesNeeded, numJobs ); pJ := AllocMem( bytesNeeded ); If EnumJobs( hPrinter, 0, 1000, 1, pJ, bytesNeeded, bytesNeeded, numJobs ) then CheckPrinterConnect := True; finally ClosePrinter( hPrinter ); end;end; 可能和你的printer的建立有关系 delphi有这个缺点:系统运行后,再去开打印机,此时是不能打印,要重新运行系统后才可以。怎么做到不用再重新运行系统就可以打印呢?就是每次打印之前都去检查打印机,并且得到当前的打印。 怎么把一个程序进程注入到另一个程序进程中(坐等,可用马上结) 如何解决用ADO连接失败的问题,在线等待 急...... Delphi 2004-09专家榜 生僻的dxNavBar控件应用!!! 如何锁定word菜单中的一项或一列? 说说你在公司里开发软件用的是什么配置的电脑??? 关于DBGrid和EhGrid的问题 好控件,不敢独享,提供下载、DEMO、界面图 为什么程序编译执行几次就开始出现insufficient memory的情况..... 怎么给分? 我是新手,攒了些问题,请帮帮忙,谢了 国庆散分------非常久没来看看了,兄弟们有谁还在? zdcnow
//功能:检测打印机是否可用
function TFBillPreview.CheckPrinterConnect: Boolean;
function GetCurrentPrinterHandle: THandle;
var
Device, Driver, Port : array[0..215] of char;
hDeviceMode: THandle;
begin
Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
OpenPrinter(@Device, Result, nil);
end;
type
TJobs = Array [0..1000] of JOB_INFO_1;
PJobs = ^TJobs;
var
hPrinter : THandle;
bytesNeeded, numJobs: Cardinal;
pJ: PJobs;
begin
CheckPrinterConnect := False;
hPrinter:= GetCurrentPrinterHandle;
try
EnumJobs( hPrinter, 0, 1000, 1, nil, 0, bytesNeeded, numJobs );
pJ := AllocMem( bytesNeeded );
If EnumJobs( hPrinter, 0, 1000, 1, pJ, bytesNeeded, bytesNeeded, numJobs ) then
CheckPrinterConnect := True;
finally
ClosePrinter( hPrinter );
end;
end;
怎么做到不用再重新运行系统就可以打印呢?就是每次打印之前都去检查打印机,并且得到当前的打印。