DocumentProperties得不到正确的纸张设置
不管我用PrinterSetupDialog设置纸张横向竖向还是A3A4,DocumentProperties出来的结果总是一样的,都是A4+竖向,即是打印机首选项的设置.程序如下:
SetLength(strPrinterName, MAX_PATH);
Printer.GetPrinter(PrinterName, Driver, Port, DevModeHandle);
strPrinterName := PrinterName;
PrinterDefaults.pDatatype := 0;
PrinterDefaults.pDevMode := 0;
PrinterDefaults.DesiredAccess := PRINTER_ACCESS_USE;
OpenPrinter(PChar(strPrinterName), phPrinter, @PrinterDefaults)
try
iRet := DocumentProperties(Handle, phPrinter, PChar(strPrinterName),
DevMode^, DevMode^, 0);
GetMem(DevMode, iRet);
try
iRet := DocumentProperties(Handle, phPrinter, PChar(strPrinterName),
DevMode^, DevMode^, DM_OUT_BUFFER);
FormID := DevMode^.dmPaperSize;
Printer.Refresh;
finally
FreeMem(DevMode);
end;
finally
ClosePrinter(phPrinter);
end;
前天发帖问了个远程打印的问题,
http://topic.csdn.net/u/20091201/22/9ac28b79-7f1e-4a5c-90b8-45a281d4670e.html
没人回答,顺便问问还有什么方式能获得打印机上的纸张类型?即A3还是A4?