L
lan2001
Unregistered / Unconfirmed
GUEST, unregistred user!
我的打印机是: Epson LQ-1600K
用Demo测试:
按打印设置时,打印机不存在。
但是在show出来的form的打印机列表框中显示:Epson LQ-1600K on LPT1:
于是我把原来的代码改为:
PrinterStr := dcomPrinter.Text;
//删除打印机名称中不必要的部分 on LPT1
System.Delete(PrinterStr,Pos(' on ',PrinterStr),Length(PrinterStr));
if not OpenPrinterA(PChar(PrinterStr),FPrintHandle,@Default) then
begin
ShowMessage('打印机不存在');
Exit;
这样可以找到打印机,但是对纸张的设置始终不起作用!请问什么原因?
另外,在程序中您同时使用了SetPrinterA和TPrint.SetPrinter,他们有什么不同吗?
用Demo测试:
按打印设置时,打印机不存在。
但是在show出来的form的打印机列表框中显示:Epson LQ-1600K on LPT1:
于是我把原来的代码改为:
PrinterStr := dcomPrinter.Text;
//删除打印机名称中不必要的部分 on LPT1
System.Delete(PrinterStr,Pos(' on ',PrinterStr),Length(PrinterStr));
if not OpenPrinterA(PChar(PrinterStr),FPrintHandle,@Default) then
begin
ShowMessage('打印机不存在');
Exit;
这样可以找到打印机,但是对纸张的设置始终不起作用!请问什么原因?
另外,在程序中您同时使用了SetPrinterA和TPrint.SetPrinter,他们有什么不同吗?