本文整理自网络,侵删。
ShellExecute(Handle, 'print', PChar('c:/document.doc'), nil, nil, SW_HIDE) ;
- Drop a TComboBox on a form. Name it "cboPrinter". Set Style to csDropDownLidt
- Put the next two lines in the form's OnCreate even handler:
//have available printers in the combo box cboPrinter.Items.Assign(printer.Printers); //pre-select the default / active printer cboPrinter.ItemIndex := printer.PrinterIndex;
Now, here's the function you can use to print any document type to a specified printer: uses shellapi, printers; procedure PrintDocument(const documentToPrint : string) ; var printCommand : string; printerInfo : string; Device, Driver, Port: array[0..255] of Char; hDeviceMode: THandle; begin if Printer.PrinterIndex = cboPrinter.ItemIndex then begin printCommand := 'print'; printerInfo := ''; end else begin printCommand := 'printto'; Printer.PrinterIndex := cboPrinter.ItemIndex; Printer.GetPrinter(Device, Driver, Port, hDeviceMode) ; printerInfo := Format('"%s" "%s" "%s"', [Device, Driver, Port]) ; end; ShellExecute(Application.Handle, PChar(printCommand), PChar(documentToPrint), PChar(printerInfo), nil, SW_HIDE) ; end;
相关阅读 >>
Delphi xe2获取文件的 md5、crc、sha-1、sha-256、sha-512
Delphi getprocessidentity 获取当前登录状态的管理员
Delphi tnethttpclient https忽略证书验证
更多相关阅读请进入《Delphi》频道 >>