1,183
社区成员
发帖
与我相关
我的任务
分享
var
DeviceMode: PDeviceMode;
ADeviceMode: THandle;
ADevice, ADriver, APort: PAnsiChar;
begin
ADevice := StrAlloc(255);
ADriver := StrAlloc(255);
APort := StrAlloc(255);
Printer.GetPrinter(ADevice, ADriver, APort, ADeviceMode);
if ADeviceMode <> 0 then
DeviceMode := GlobalLock(ADeviceMode);
//DeviceMode.dmFormName就是纸张名称
end;
//如果以上方法获取不到DeviceMode也可以用下面方法
var
HPrt:THandle;
dwNeeded:Cardinal;
PrtInfo2:PPrinterInfo2;
begin
OpenPrinter(pchar(Printer.Printers[Printer.PrinterIndex]), HPrt, nil);//第一个参数是打印机名称
GetPrinter(HPrt, 2, PrtInfo2, 0, @dwNeeded); //获取打印机
ReAllocMem(PrtInfo2, dwNeeded);
GetPrinter(HPrt, 2, PrtInfo2, dwNeeded, @dwNeeded);
//PrtInfo2.pDevMode.dmFormName:纸张名称
end;