Impressora Padrão - Como alterar?

Delphi

26/01/2004

como altero a impressora padrão na hora impressão via sistema, para que determinados relatórios sejam impressos em uma Matricial e determinados relatórios sejam impressoros na laser.


Ribeiroalex

Ribeiroalex

Curtidas 0

Respostas

Vinicius2k

Vinicius2k

26/01/2004

Colega,

636 - Mudar Impressora padrão pelo nome
procedure SetDefaultPrinter(PrinterName: String);
var
  I: Integer;
  Device : PChar;
  Driver : Pchar;
  Port : Pchar;
  HdeviceMode: Thandle;
  aPrinter : TPrinter;
begin
  Printer.PrinterIndex := -1;
  getmem(Device, 255);
  getmem(Driver, 255);
  getmem(Port, 255); 
  aPrinter := TPrinter.create;
  for I := 0 to Printer.printers.Count-1 do
  begin
  if Printer.printers[i] = PrinterName then
  begin
  aprinter.printerindex := i;
  aPrinter.getprinter
  (device, driver, port, HdeviceMode);
  StrCat(Device, ´,´);
  StrCat(Device, Driver );
  StrCat(Device, Port );
  WriteProfileString(´windows´, ´device´, Device);
  StrCopy( Device, ´windows´ );
  SendMessage(HWND_BROADCAST, WM_WININICHANGE,
  0, Longint(@Device));
  end;
  end;
  Freemem(Device, 255);
  Freemem(Driver, 255);
  Freemem(Port, 255);
  aPrinter.Free;
end; 


* extraído de DTDelphi 2.6 - José J. Carvalho Júnior

existem várias outras dicas valiosas no DTDelphi... vc pode baixar em http://www.lloydsoft.hpg.ig.com.br, caso esta não solucione sua necessidade...

espero ter ajudado...


GOSTEI 0
POSTAR